Android - 小案例1 (边学边共享)
首先说下这个小案例要实现的效果,当用户触摸到4个不同颜色的view
RelativeLayout的背景色会变成触摸到的view的背景色,大家可以看下图。
下面是layout的代码,首先拖出4个view,分别给4个view直接定义背景色
1 <?xml version="1.0" encoding="UTF-8"?>
2 <RelativeLayout android:paddingLeft="75dip" android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
3 <View android:layout_below="@+id/Button01" android:layout_height="40dip" android:background="#C0C0C0" android:id="@+id/View01" android:layout_width="40dip"></View>
4 <View android:layout_toRightOf="@+id/View01" android:layout_height="40dip" android:background="#FFFF00" android:id="@+id/View02" android:layout_width="40dip"></View>
5 <View android:layout_toRightOf="@+id/View02" android:layout_height="40dip" android:background="#B0E0E6" android:id="@+id/View03" android:layout_width="40dip"></View>
6 <View android:layout_toRightOf="@+id/View03" android:layout_height="40dip" android:background="#6A5ACD" android:id="@+id/View04" android:layout_width="40dip"></View>
7 </RelativeLayout>
下面是后台代码部分
1 package cn.Charles;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.view.View;
6 import android.view.View.OnClickListener;
7 import android.widget.RelativeLayout;
8
9 public class TextColor extends Activity {
10 RelativeLayout rtl; //取到布局控件,用于改变它的背景颜色
11 OnClickListener onclicklistener; //声明click监听事件
12
13 @Override
14 protected void onCreate(Bundle savedInstanceState) {
15 // TODO Auto-generated method stub
16 super.onCreate(savedInstanceState);
17 setContentView(R.layout.textcolorchange);
18
19 //首先找到用于布局的控件
20 rtl = (RelativeLayout)findViewById(R.id.RelativeLayout01);
21
22 //然后实例化一个单击事件
23 onclicklistener = new OnClickListener() {
24
25 @Override
26 public void onClick(View v) {
27 // TODO Auto-generated method stub
28 //事件传进来的View也就是事件拥有者,比如我把这个事件赋给view1,那这个View就是view1
29 //然后可以直接取到View的背景,将其赋值给我们的布局控件的背景
30 rtl.setBackgroundDrawable(v.getBackground());
31 }
32 };
33
34 //首先声明第一个View,找到View1,下面就不用再声明了,别浪费资源
35 //然后给4个view赋一样的事件!
36 View v = (View)findViewById(R.id.View01);
37 v.setOnClickListener(onclicklistener);
38 v = (View)findViewById(R.id.View02);
39 v.setOnClickListener(onclicklistener);
40 v = (View)findViewById(R.id.View03);
41 v.setOnClickListener(onclicklistener);
42 v = (View)findViewById(R.id.View04);
43 v.setOnClickListener(onclicklistener);
44
45 }
46 }
47
以上代码就可以实现了. 都是基础,高手就闪一边啦...