今日开始用Android Studio写Java代码了,第一次接触和学习,有点懵懵的,相信坚持练习,会熟练的!
摘要
- (activity_main.xml)页面布局代码
- (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);//显示名字
}
}