Android實(shí)戰(zhàn)開發(fā)Day1/抽獎、點(diǎn)名App/2020-04-23

抽獎、點(diǎn)名App小程序體驗(yàn)安卓開發(fā)的意義和樂趣

目錄

1.準(zhǔn)備工作
2.搭建界面
3.實(shí)現(xiàn)抽獎功能

1.準(zhǔn)備工作

  • 1.寫一個類:TextView/主界面(文本/顏色/字體/字號/對齊);
    2.寫一個類:Button/操作(顯示輸入內(nèi)容);
    3.點(diǎn)擊按鈕: 點(diǎn)擊按鈕在抽獎和暫停之間切換
    4.準(zhǔn)備候選人數(shù)組保存
    5.開始抽獎

2.搭建界面

Step1.在導(dǎo)航欄找到如圖框選的"app"->"res"->"activity_ main.xml"。


導(dǎo)航欄

Step2.將此代碼段框選部分改為"LinearLayout"(剛打開不是"LinearLayout),是線性布局的意思,我們的控件只用線性布局就夠了,使用"LinearLayout"比較簡單。


代碼段更改

Step3.寫一個"TextView"和"Button"類,顯示主界面
<!--    文本框-->
    <TextView
        android:id="@+id/tv_name"
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:background="#2F2E2F"
        android:gravity="center"
        android:text="zZLOVEZz的幸運(yùn)抽獎"
        android:textColor="#FFF"
        android:textSize="30sp" />

<!--    按鈕-->
    <Button
        android:layout_width="match_parent"
        android:layout_height="90dp"
        android:background="#D65489"
        android:layout_marginTop="100dp"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:text="開始抽獎"
        android:textColor="#FFF"
        android:textSize="20dp"
        android:onClick="start" />
此時的控件界面

3.實(shí)現(xiàn)抽獎功能

自定義抽獎候選人,按照預(yù)計方法:點(diǎn)擊按鈕在抽獎和暫停之間切換
具體實(shí)現(xiàn)
1.此時設(shè)定為:點(diǎn)擊“開始抽獎”,候選人名單滾動,點(diǎn)擊“暫停”,定格一個名字;
2.候選人名單用數(shù)組創(chuàng)建;
3.設(shè)置“開始抽獎”和“暫?!敝g的轉(zhuǎn)換;
4.創(chuàng)建定時器,讓抽獎開始后,候選人名單滾動起來,時間間隔自定義;
5.產(chǎn)生一個隨機(jī)人名,顯示到控件上。

來看看具體的的代碼實(shí)現(xiàn)吧


public class MainActivity extends AppCompatActivity {
    // 準(zhǔn)備候選人
    String[] names = new String[]{"p1","p2","p3","p4","p5","p6","p7"};
    Timer timer;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void start(View view) {
        // 將View轉(zhuǎn)化為Button
        Button btn = (Button)view;
        // 獲取當(dāng)前的標(biāo)題
        String title = btn.getText().toString();
        // 判斷按鈕的標(biāo)題
        if(title.equals("開始抽獎")){
            // 設(shè)置為暫停
            btn.setText("暫停");
            // 創(chuàng)建定時器
            timer = new Timer();
            // 每隔一段時間去執(zhí)行一個任務(wù)
            timer.schedule(new TimerTask() {
                @Override
                public void run() {
                    produceOnePeople();
                }
            },0,100);
        }else{
            // 設(shè)置為抽獎
            btn.setText("開始抽獎");
            // 關(guān)閉定時器
            timer.cancel();
        }
    }

    //產(chǎn)生一個隨機(jī)人名,顯示到文件控件上
    public void produceOnePeople(){
        // 產(chǎn)生一個隨機(jī)數(shù)
        Random random = new Random();
        int index = Math.abs(random.nextInt()) & names.length;
        // 從數(shù)組里面取出這個名字
        String name = names[index];
        // 將名字顯示到文本框
        TextView tv = findViewById(R.id.tv_name);
        tv.setText(name);
    }
}

然后就是鏈接手機(jī)或者使用模擬器對控件進(jìn)行使用了

總結(jié)

1.今天第一次感受Android開發(fā)的樂趣,就這么一個小Demo,就讓我知道了有這么神奇的方法可以解決生活中各種問題,足以證明Android開發(fā)的實(shí)力和前景!
2.學(xué)習(xí)過程中很多時候是一臉懵逼的狀態(tài),第一個Demo也是跟著老師一點(diǎn)一點(diǎn)打出來的,十分不易,要想學(xué)懂學(xué)精還需要很多付出和汗水!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容