java—Day 1 抽奖app

今日开始用Android Studio写Java代码了,第一次接触和学习,有点懵懵的,相信坚持练习,会熟练的!

摘要

  1. (activity_main.xml)页面布局代码
  2. (MainActivity.java)效果实现代码
  • 二者之间的关系:
    activity_main.xml其实是一个布局文件,我们页面需要的各种各样的控件都在里面,包括文本、按钮、页面布局等,但是无法实现,所以MainActivity.java中源代码就是在其设置好的布局上进行页面效果的实现。

一、页面布局代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".MainActivity"
   android:orientation="vertical">
  • linearLayout  是线性布局,从上到下,方向由orientation的方向确定。
  • orientation="vertical" 是指纵向的排列
<!--文本框-->
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="250dp"
android:background="#2F2E2F"
android:text="想抽到什么呢"
android:textColor="#FFF"
android:textSize="80px"
android:gravity="center"/>
  • 注释的快捷方法:ctrl+/
  • TextView   是界面上半部分的设计,依次是文本内容、界面宽度、长度、背景颜色、初始文本内容、文本颜色、字号、对齐方式
<Button
       android:layout_width="match_parent"
       android:layout_height="65dp"
       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"/>
  • 按钮控件的设置,由上到下依次是宽度、长度、背景颜色、距离页面上面和左右的距离、文本内容、颜色、大小
  • 最后一行是点击方法,Alt+enter可在MainActivity.java中添加方法

二、效果实现代码

String[] names=new String[]{"泡芙","蛋糕","苹果","橘子","西瓜","草莓","香蕉"};//候选名字
Timer  timer;//定时器


 //按钮点击方法
public void start(View view) {
       //按钮文本转换
       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,80);//每隔一段时间执行指定的任务

       }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);//显示名字

   }

}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容