抽獎、點(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é)精還需要很多付出和汗水!