实验内容
制作一个简易APP页面,通过点击该页面的按钮实现让色块从上到下的循环变动。
实验步骤
1、删除res/layout文件夹下的activity_main.xml文件,并且新建activity_main.xml,设置布局为相对布局(RelativeLayout),并且在其中内嵌线性布局(LinearLayout),在线性布局内部设置三个textview,在线性布局结束之后在末尾设置一个button按钮
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<!-- match_parent:当前控件填满父类容器
wrap_content:当前控件包裹文本内容-->
//线性布局
<LinearLayout
android:id="@+id/Linear_Layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerInParent="true">
//定义文本框组件
<TextView
android:id="@+id/textView1"
android:layout_width="200dp"
android:layout_height="100dp"
android:background="#00ff00"
android:layout_gravity="center"
/>
<TextView
android:id="@+id/textView2"
android:layout_width="200dp"
android:layout_height="100dp"
android:background="#ffffff"
android:layout_gravity="center"
/>
<TextView
android:id="@+id/textView3"
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:background="#ffffff" />
</LinearLayout>
//定义button组件
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="21dp"
android:layout_below="@+id/Linear_Layout"
android:layout_centerHorizontal="true"
android:text="Click Me!"
android:textSize="35dp"/>
</RelativeLayout>
2、之后在MainActivity中为“点击”事件创建监听器,具体操作流程以及代码如下
package com.example.administer.myfirstapp;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
int i = 0;
int idArray[] = {R.id.textView1, R.id.textView2, R.id.textView3};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建button对象
Button button = (Button)findViewById(R.id.button);
if (button != null)
{ //为button组件创建监听器
button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
for (int j=0; j<idArray.length; j++){
View myTextView = (View)findViewById(idArray[j]);
myTextView.setBackgroundColor(0xffffffff);
}
View myTextView = (View)findViewById(idArray[i++ % idArray.length]);
if (myTextView != null){
myTextView.setBackgroundColor(0xff00ff00);
}
}
});
}
}
}
3、Android Studio中的效果显示
实验结果
在虚拟机中运行调试效果: