2025年2月20日 星期四

Hello Android! 進階版-1

實現按一個按鈕才顯示 "Hello Android!" 的功能

以使用 Jetpack Compose 的狀態管理來控制文本的顯示與隱藏。以下是改寫後的程式碼:


  1. 首先,你需要在 Greeting 函數中加入一個按鈕,並使用 MutableState 來控制文本的顯示與隱藏。

  2. 當按鈕被點擊時,切換狀態以顯示或隱藏文本。



package com.example.myapplication

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment // 導入 Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.example.myapplication.ui.theme.MyApplicationTheme

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContent {
            MyApplicationTheme {
                Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
                    Greeting(
                        modifier = Modifier.padding(innerPadding)
                    )
                }
            }
        }
    }
}

@Composable
fun Greeting(modifier: Modifier = Modifier) {
    // 使用 remember 來保存狀態
    var showText by remember { mutableStateOf(false) }

    Column(
        modifier = modifier
            .fillMaxSize()
            .padding(16.dp),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally // 使用 Alignment
    ) {
        // 當 showText 為 true 時顯示文本
        if (showText) {
            Text(
                text = "Hello Android!",
                modifier = Modifier.padding(bottom = 16.dp)
            )
        }

        // 按鈕,點擊時切換 showText 的值
        Button(onClick = { showText = !showText }) {
            Text(text = if (showText) "Hide Text" else "Show Text")
        }
    }
}

@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
    MyApplicationTheme {
        Greeting()
    }
}


程式碼說明:

1 導入 Alignment:

在檔案頂部加入 import androidx.compose.ui.Alignment。

Alignment 是 Compose UI 中用於對齊的類別,例如 Alignment.CenterHorizontally 用於水平居中對齊。

2 showText 狀態:使用 remember { mutableStateOf(false) } 來創建一個可觀察的狀態 showText,初始值為 false,表示文本一開始是隱藏的。

3 條件渲染:在 Column 中,使用 if (showText) 來判斷是否顯示 "Hello Android!" 文本。

4 按鈕點擊事件:按鈕的 onClick 事件會切換 showText 的值,從而控制文本的顯示與隱藏。按鈕的文本也會根據 showText 的值動態變化。

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 Column(
        modifier = modifier
            .fillMaxSize()
            .padding(16.dp),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally // 使用 Alignment
    ) 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


這段程式碼的效果是:

  • Column 會佔滿父容器的全部空間,並設置 16 dp 的內邊距。

  • Column 中的所有子元素會在垂直方向上居中排列。

  • 每個子元素會在水平方向上居中對齊。



運行效果:

  • 1 當你運行這個應用程式時,一開始只會看到一個按鈕,點擊按鈕後會顯示 "Hello Android!" 文本。

  • 2 再次點擊按鈕,文本會隱藏。



      





Hello Android! 的原始碼

Hello Android! 的原始碼。

package com.example.myapplication


import android.os.Bundle

import androidx.activity.ComponentActivity

import androidx.activity.compose.setContent

import androidx.activity.enableEdgeToEdge

import androidx.compose.foundation.layout.fillMaxSize

import androidx.compose.foundation.layout.padding

import androidx.compose.material3.Scaffold

import androidx.compose.material3.Text

import androidx.compose.runtime.Composable

import androidx.compose.ui.Modifier

import androidx.compose.ui.tooling.preview.Preview

import com.example.myapplication.ui.theme.MyApplicationTheme


class MainActivity : ComponentActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)

        enableEdgeToEdge()

        setContent {

            MyApplicationTheme {

                Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->

                    Greeting(

                        name = "Android",

                        modifier = Modifier.padding(innerPadding)

                    )

                }

            }

        }

    }

}


@Composable

fun Greeting(name: String, modifier: Modifier = Modifier) {

    Text(

        text = "Hello $name!",

        modifier = modifier

    )

}


@Preview(showBackground = true)

@Composable

fun GreetingPreview() {

    MyApplicationTheme {

        Greeting("Android")

    }

}







2020年11月28日 星期六

2020年11月14日 星期六

...

****** APP安裝 ******

台灣福音書房 恢復本聖經🍎蘋果不能用 🚫)

安卓電子詩歌(🍎蘋果不能用 🚫)
THymn2018.apk (7.63 MB)

書拉密女小站詩歌本 歌譜版(🍎蘋果不能用 🚫)
song.apk (94.8 MB)繁體

------------------------------------------------------------------


****** 電子書 安裝說明 ******

🚹安卓手機安裝
1. google play 🔎搜 "掌閱",安裝它。連結在下面。
   👉 掌閱ireader ,有語音朗讀功能可以念給你聽,忙碌時可以用聽的方式享受十二籃、生命讀經喔~

2. 到下面👇去下載 epub電子書 。
3. 檔案下載後開啟掌閱
➡ 進入後 左下方選📖書架,這時後可以把內附的小說刪除,畫面比較清爽。
➡ 右上方有 🕒 🔍 ⋯  ,請按 ⋯ 
➡ 左下方請按 ⌜導入本地文件⌟,它會搜尋你手機中的 PDF、EPUB檔案。
➡ 點擊你先前下載的電子書的檔案就可以了。

========================================================

🍎蘋果手機、平板 已經內建閱讀器>>  📖書籍,可直接下載 epub電子書。

🍎蘋果下載方式: 
到下面👇去下載你要的電子書 
➡ 點選後,畫面下方     或是繼續前往網站  
➡ 畫面左下方     ⬇ 
➡ 按 下載  
➡ 選  在其他應用程式中開啟 
➡ 選 📖書籍 
➡ 就可以打開電子書。

========================================================

****** epub電子書 ******









如何在基督這美地上經營並生產基督呢? 如何作呢?
不是喊口號,而是真正去作。就是寫...


PDF版 Bible









2018年9月3日 星期一

福音見證 (合訂本)

 






 pdf 檔案下載  3.4MB



註 : 桃園市召會週訊 的福音見證版 製作成合訂本 






搭車去中部相調中心

1.首先搭火車到台中車站


2.走5分鐘路程到總達客運 


 3.搭6333這一班車 , 光華5路下車

4.走5分鐘路程到相調中心