抽獎(jiǎng)漫仆、點(diǎn)名App小程序體驗(yàn)安卓開發(fā)的意義和樂趣
目錄
1.準(zhǔn)備工作
2.搭建界面
3.實(shí)現(xiàn)抽獎(jiǎng)功能
1.準(zhǔn)備工作
- 1.寫一個(gè)類:TextView/主界面(文本/顏色/字體/字號(hào)/對(duì)齊);
2.寫一個(gè)類:Button/操作(顯示輸入內(nèi)容)泪幌;
3.點(diǎn)擊按鈕: 點(diǎn)擊按鈕在抽獎(jiǎng)和暫停之間切換
4.準(zhǔn)備候選人數(shù)組保存
5.開始抽獎(jiǎng)
2.搭建界面
Step1.在導(dǎo)航欄找到如圖框選的"app"->"res"->"activity_ main.xml"盲厌。
Step2.將此代碼段框選部分改為"LinearLayout"(剛打開不是"LinearLayout),是線性布局的意思座菠,我們的控件只用線性布局就夠了狸眼,使用"LinearLayout"比較簡(jiǎn)單。
Step3.寫一個(gè)"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)抽獎(jiǎng)"
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="開始抽獎(jiǎng)"
android:textColor="#FFF"
android:textSize="20dp"
android:onClick="start" />
3.實(shí)現(xiàn)抽獎(jiǎng)功能
自定義抽獎(jiǎng)候選人拓萌,按照預(yù)計(jì)方法:點(diǎn)擊按鈕在抽獎(jiǎng)和暫停之間切換
具體實(shí)現(xiàn):
1.此時(shí)設(shè)定為:點(diǎn)擊“開始抽獎(jiǎng)”,候選人名單滾動(dòng)升略,點(diǎn)擊“暫臀⑼酰”,定格一個(gè)名字品嚣;
2.候選人名單用數(shù)組創(chuàng)建炕倘;
3.設(shè)置“開始抽獎(jiǎng)”和“暫停”之間的轉(zhuǎn)換翰撑;
4.創(chuàng)建定時(shí)器罩旋,讓抽獎(jiǎng)開始后,候選人名單滾動(dòng)起來眶诈,時(shí)間間隔自定義涨醋;
5.產(chǎn)生一個(gè)隨機(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("開始抽獎(jiǎng)")){
// 設(shè)置為暫停
btn.setText("暫停");
// 創(chuàng)建定時(shí)器
timer = new Timer();
// 每隔一段時(shí)間去執(zhí)行一個(gè)任務(wù)
timer.schedule(new TimerTask() {
@Override
public void run() {
produceOnePeople();
}
},0,100);
}else{
// 設(shè)置為抽獎(jiǎng)
btn.setText("開始抽獎(jiǎng)");
// 關(guān)閉定時(shí)器
timer.cancel();
}
}
//產(chǎn)生一個(gè)隨機(jī)人名浴骂,顯示到文件控件上
public void produceOnePeople(){
// 產(chǎn)生一個(gè)隨機(jī)數(shù)
Random random = new Random();
int index = Math.abs(random.nextInt()) & names.length;
// 從數(shù)組里面取出這個(gè)名字
String name = names[index];
// 將名字顯示到文本框
TextView tv = findViewById(R.id.tv_name);
tv.setText(name);
}
}
然后就是鏈接手機(jī)或者使用模擬器對(duì)控件進(jìn)行使用了
總結(jié)
1.今天第一次感受Android開發(fā)的樂趣,就這么一個(gè)小Demo宪潮,就讓我知道了有這么神奇的方法可以解決生活中各種問題溯警,足以證明Android開發(fā)的實(shí)力和前景!
2.學(xué)習(xí)過程中很多時(shí)候是一臉懵逼的狀態(tài)狡相,第一個(gè)Demo也是跟著老師一點(diǎn)一點(diǎn)打出來的梯轻,十分不易,要想學(xué)懂學(xué)精還需要很多付出和汗水尽棕!