Android实战开发Day1/抽奖、点名App/2020-04-23

抽奖、点名App小程序体验安卓开发的意义和乐趣

目录

1.准备工作
2.搭建界面
3.实现抽奖功能

1.准备工作

  • 1.写一个类:TextView/主界面(文本/颜色/字体/字号/对齐);
    2.写一个类:Button/操作(显示输入内容);
    3.点击按钮: 点击按钮在抽奖和暂停之间切换
    4.准备候选人数组保存
    5.开始抽奖

2.搭建界面

Step1.在导航栏找到如图框选的"app"->"res"->"activity_ main.xml"。


导航栏

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的幸运抽奖"
        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.实现抽奖功能

自定义抽奖候选人,按照预计方法:点击按钮在抽奖和暂停之间切换
具体实现
1.此时设定为:点击“开始抽奖”,候选人名单滚动,点击“暂停”,定格一个名字;
2.候选人名单用数组创建;
3.设置“开始抽奖”和“暂停”之间的转换;
4.创建定时器,让抽奖开始后,候选人名单滚动起来,时间间隔自定义;
5.产生一个随机人名,显示到控件上。

来看看具体的的代码实现吧


public class MainActivity extends AppCompatActivity {
    // 准备候选人
    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转化为Button
        Button btn = (Button)view;
        // 获取当前的标题
        String title = btn.getText().toString();
        // 判断按钮的标题
        if(title.equals("开始抽奖")){
            // 设置为暂停
            btn.setText("暂停");
            // 创建定时器
            timer = new Timer();
            // 每隔一段时间去执行一个任务
            timer.schedule(new TimerTask() {
                @Override
                public void run() {
                    produceOnePeople();
                }
            },0,100);
        }else{
            // 设置为抽奖
            btn.setText("开始抽奖");
            // 关闭定时器
            timer.cancel();
        }
    }

    //产生一个随机人名,显示到文件控件上
    public void produceOnePeople(){
        // 产生一个随机数
        Random random = new Random();
        int index = Math.abs(random.nextInt()) & names.length;
        // 从数组里面取出这个名字
        String name = names[index];
        // 将名字显示到文本框
        TextView tv = findViewById(R.id.tv_name);
        tv.setText(name);
    }
}

然后就是链接手机或者使用模拟器对控件进行使用了

总结

1.今天第一次感受Android开发的乐趣,就这么一个小Demo,就让我知道了有这么神奇的方法可以解决生活中各种问题,足以证明Android开发的实力和前景!
2.学习过程中很多时候是一脸懵逼的状态,第一个Demo也是跟着老师一点一点打出来的,十分不易,要想学懂学精还需要很多付出和汗水!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容