频道栏目
IT货架 > > 正文
Android练习—修改背景颜色
网友分享于:Jan 1, 1970 8:00:00 AM    来源: IT货架   

标签:android   style   blog   http   io   color   os   ar   使用   

Activity值传递的一个小练习,不多说直接上代码。

---------------------------XML部分-----------------------------

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:id="@+id/bg_cloor"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:background="#FFFFFF"
 7     android:paddingBottom="@dimen/activity_vertical_margin"
 8     android:paddingLeft="@dimen/activity_horizontal_margin"
 9     android:paddingRight="@dimen/activity_horizontal_margin"
10     android:paddingTop="@dimen/activity_vertical_margin"
11     tools:context=".MainActivity" >
12 
13     <Button
14         android:id="@+id/button1"
15         android:layout_width="match_parent"
16         android:layout_height="wrap_content"
17         android:layout_alignParentLeft="true"
18         android:text="选择背景颜色" />
19 
20 </RelativeLayout>
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent" >
 5 
 6     <TextView
 7         android:id="@+id/textView1"
 8         android:layout_width="wrap_content"
 9         android:layout_height="wrap_content"
10         android:layout_alignParentLeft="true"
11         android:layout_alignParentTop="true"
12         android:layout_marginLeft="32dp"
13         android:layout_marginTop="26dp"
14         android:background="#663300"
15         android:text="#663300" />
16 
17     <TextView
18         android:id="@+id/textView4"
19         android:layout_width="wrap_content"
20         android:layout_height="wrap_content"
21         android:layout_alignRight="@+id/textView1"
22         android:layout_below="@+id/textView1"
23         android:layout_marginTop="38dp"
24         android:background="#00CC00"
25         android:text="#00CC00" />
26 
27     <TextView
28         android:id="@+id/textView5"
29         android:layout_width="wrap_content"
30         android:layout_height="wrap_content"
31         android:layout_alignBaseline="@+id/textView4"
32         android:layout_alignBottom="@+id/textView4"
33         android:layout_alignRight="@+id/textView2"
34         android:background="#FF3366"
35         android:text="#FF3366" />
36 
37     <TextView
38         android:id="@+id/textView6"
39         android:layout_width="wrap_content"
40         android:layout_height="wrap_content"
41         android:layout_alignBaseline="@+id/textView5"
42         android:layout_alignBottom="@+id/textView5"
43         android:layout_alignRight="@+id/textView3"
44         android:background="#FFFFFF"
45         android:text="#FFFFFF" />
46 
47     <TextView
48         android:id="@+id/textView2"
49         android:layout_width="wrap_content"
50         android:layout_height="wrap_content"
51         android:layout_alignBaseline="@+id/textView1"
52         android:layout_alignBottom="@+id/textView1"
53         android:layout_centerHorizontal="true"
54         android:background="#FFCCCC"
55         android:text="#FFCCCC" />
56 
57     <TextView
58         android:id="@+id/textView3"
59         android:layout_width="wrap_content"
60         android:layout_height="wrap_content"
61         android:layout_above="@+id/textView4"
62         android:layout_alignParentRight="true"
63         android:layout_marginRight="30dp"
64         android:background="#FFCC33"
65         android:text="#FFCC33" />
66 
67 </RelativeLayout>

--------------------------java部分----------------------

 1 package com.example.activitydeom;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.content.Intent;
 6 import android.graphics.Color;
 7 import android.view.View;
 8 import android.view.View.OnClickListener;
 9 import android.widget.Button;
10 import android.widget.RelativeLayout;
11 
12 public class MainActivity extends Activity implements OnClickListener {
13 
14     Button bt;
15     RelativeLayout bgc;
16 
17     @Override
18     protected void onCreate(Bundle savedInstanceState) {
19         super.onCreate(savedInstanceState);
20         setContentView(R.layout.activity_main);
21         bt = (Button) findViewById(R.id.button1);
22 
23         bt.setOnClickListener(this);
24 
25     }
26 
27     @Override
28     public void onClick(View arg0) {
29         Intent it = new Intent(this, ColorDeom.class);
30         startActivityForResult(it, 0);
31 
32     }
33 
34     // 重点来了,这个方法就是用来接收值传递
35     @Override
36     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
37         super.onActivityResult(requestCode, resultCode, data);
38 
39         if (0 == requestCode && RESULT_OK == resultCode) {
40             String color = data.getStringExtra("color");
41             // 这里利用了java提供的Color方法来转换String→int
42             int cc = Color.parseColor(color);
43             bgc = (RelativeLayout) findViewById(R.id.bg_cloor);
44             bgc.setBackgroundColor(cc);
45         }
46     }
47 }
 1 package com.example.activitydeom;
 2 
 3 import android.app.Activity;
 4 import android.content.Intent;
 5 import android.graphics.Color;
 6 import android.os.Bundle;
 7 import android.view.View;
 8 import android.view.View.OnClickListener;
 9 import android.widget.TextView;
10 
11 public class ColorDeom extends Activity implements OnClickListener{
12 
13     TextView tv1;
14     TextView tv2;
15     TextView tv3;
16     TextView tv4;
17     TextView tv5;
18     TextView tv6;
19     @Override
20     protected void onCreate(Bundle savedInstanceState) {
21         super.onCreate(savedInstanceState);
22         setContentView(R.layout.color);
23         tv1=(TextView) findViewById(R.id.textView1);
24         tv2=(TextView) findViewById(R.id.textView2);
25         tv3=(TextView) findViewById(R.id.textView3);
26         tv4=(TextView) findViewById(R.id.textView4);
27         tv5=(TextView) findViewById(R.id.textView5);
28         tv6=(TextView) findViewById(R.id.textView6);
29         tv1.setOnClickListener(this);
30         tv2.setOnClickListener(this);
31         tv3.setOnClickListener(this);
32         tv4.setOnClickListener(this);
33         tv5.setOnClickListener(this);
34         tv6.setOnClickListener(this);
35     }
36     
37     
38     @Override
39     public void onClick(View v) {
40         
41         
42         Intent it=new Intent();
43         String color="0Xffffff";
44         switch (v.getId()) {
45         case R.id.textView1:
46             color=(String) tv1.getText();
47             Color.parseColor((String) tv1.getText());
48             it.putExtra("color",color);
49             setResult(RESULT_OK, it);
50             this.finish();
51             break;
52         case R.id.textView2:
53             color=(String) tv2.getText();
54             it.putExtra("color",color);
55             setResult(RESULT_OK, it);
56             this.finish();
57             break;
58         case R.id.textView3:
59             color=(String) tv3.getText();
60             it.putExtra("color",color);
61             setResult(RESULT_OK, it);
62             this.finish();
63             break;
64         case R.id.textView4:
65             color=(String) tv4.getText();
66             it.putExtra("color",color);
67             setResult(RESULT_OK, it);
68             this.finish();
69             break;
70         case R.id.textView5:
71             color=(String) tv5.getText();
72             it.putExtra("color",color);
73             setResult(RESULT_OK, it);
74             this.finish();
75             break;
76         case R.id.textView6:
77             color=(String) tv6.getText();
78             it.putExtra("color",color);
79             setResult(RESULT_OK, it);
80             this.finish();
81             break;
82 
83         default:
84             break;
85         }
86         
87     }
88 
89 }

效果图如下

 

bubuko.com,布布扣
bubuko.com,布布扣

bubuko.com,布布扣

 

总结:

这次的练习本来想得很简单只是一个单纯的启动一个Activity并返回结果但是在返回值如何和转换的问题上纠结了好长时间最后还是班里的大神交给了我们用系统性自带的Color类的方法才得以解决,QAQ在此对大神表示感谢~~

知识点:
 * 启动Activity的方式:
 * 1、startActivity(...);
 * 2、startActivityForResult(...);
 *
 * 启动一个Activity并返回结果的步骤:
 * 1、启动Activity时使用startActivityForResult方法,两个参数为:intent,请求编码
 * 2、在被启动的Activity中使用Intent来保存数据,并把intent通过setResult方法设置到返回结果中
 * 3、关闭被启动的Activity
 * 4、在启动的Activity中重写onActivityResult方法来接收返回结果
 * 5、判断请求编码与请求结果标记是否匹配,进行取值

Android练习—修改背景颜色

标签:android   style   blog   http   io   color   os   ar   使用   

相关板块推荐 iPhone WindowsPhone

广告服务联系QQ:1134687142 | 网站地图

版权所有: IT货架- 内容来自互联网,仅供用于技术学习,请遵循相关法律法规. 京ICP备11030978号-1