- 浏览: 203164 次
- 性别:
- 来自: 湖南
文章分类
最新评论
Android 基础UI编程
标题、状态栏的隐藏
标题栏隐藏
在Activity.setCurrentView();之前调用此方法
状态栏隐藏(全屏)
在Activity.setCurrentView();之前调用此方法
样式化的定型对象
Style 样式的定义
① 新建工程
② 定义一个style.xml 存放样式
③ 在string.xml 中添加字符串
④ 修改布局main.xml,添加两个TextView
⑤ 加入Style
简易的按钮事件
Button 事件处理
① 创建新工程
② 修改main.xml 布局,添加一个TextView 和一个Button
③ 在mainActivity.java 中findViewByID()获取TextView 和Button 资源
④ 给Button 添加事件监听器Button.OnClickListener()
⑤ 处理事件
手机页面的转换
setContentView 的应用
① 新建工程
② string 添加两个提示字符串
③ 新建color.xml 保存两个颜色值
④ 修改main.xml 布局,添加一个TextView 和一个Button
⑤ 新建mylayout.xml 布局文件,并添加两个View:TextView 和Button
⑥ 编写mainActivity.java
调用另一个Activity
Intent 对象的使用
① 新建工程
② 在string.xml 中添加两个字符串
③ 新建color.xml 存放颜色值
④ 修改main.xml 布局,添加一个TextView 和一个Button
⑤ 新建一个secondlayout.xml 布局,并添加一个TextView 和一个Button
<?xml version="1.0" encoding="utf-8"?>
⑥ 新建SecondActivity.java 文件,添加内容
⑦ 修改mainActivity.java,添加代码
⑧ 在AndroidManifest.xml 文件中添加SecondActivity
不同Activity之间的数据传递
Bundle 对象的实现
① 新建工程
② 修改main.xml 布局,添加UI 元素
③ 新建mylayout.xml,并添加UI 元素
④ 新建一个BMIActivity.java
⑤ 在AndroidManifest.xml 添加Activity 定义
⑥ 修改BMIActivity.java 内容
⑦ 修改mainActivity.java 内容
返回数据到前一个Activity
startActivityForResult 方法
① 新建工程
② 修改main.xml 布局,添加UI 元素
③ 新建一个mylayout.xml 布局,添加UI 元素
④ 新建一个SecondActivity.java 的Activity 子类
⑤ 在AndroidManifest.xml 中添加SecondActivity 这个Activity
必须在AndroidManifest 中注册新的
Activity,否则程序出错
上一例子中新添加
⑥ 修改mainActivity.java 代码
新重写方法,等待返回结果
⑦ 修改SecondActivity.java 代码
标题、状态栏的隐藏
标题栏隐藏
在Activity.setCurrentView();之前调用此方法
private void HideTitle() { // TODO Auto-generated method stub requestWindowFeature(Window.FEATURE_NO_TITLE); }
状态栏隐藏(全屏)
在Activity.setCurrentView();之前调用此方法
private void HideStatusBar() { // TODO Auto-generated method stub //隐藏标题 requestWindowFeature(Window.FEATURE_NO_TITLE); //定义全屏参数 int flag=WindowManager.LayoutParams.FLAG_FULLSCREEN; //获得窗口对象 Window myWindow=this.getWindow(); //设置Flag标识 myWindow.setFlags(flag,flag); }
样式化的定型对象
Style 样式的定义
① 新建工程
② 定义一个style.xml 存放样式
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="myStyle_Text1"> <item name="android:textSize">25sp</item> <item name="android:textColor">#80FF00</item> </style> <style name="myStyle_Text2"> <item name="android:textSize">18sp</item> <item name="android:textColor">#0C688E</item> <item name="android:fromAlpha">0.0</item> <item name="android:toAlpha" >0.0</item> </style> </resources>
③ 在string.xml 中添加字符串
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="string_A">应用myStyle_Text1</string> <string name="string_B">应用myStyle_Text2</string> </resources>
④ 修改布局main.xml,添加两个TextView
<TextView android:id="@+id/TextView01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center_vertical|center_horizontal" android:text="@string/string_A"></TextView> <TextView android:id="@+id/TextView02" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center_vertical|center_horizontal" android:text="@string/string_B"></TextView>
⑤ 加入Style
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/TextView01" style="@style/myStyle_Text1" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center_vertical|center_horizontal" android:text="@string/string_A"></TextView> <TextView android:id="@+id/TextView02" style="@style/myStyle_Text2" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center_vertical|center_horizontal" android:text="@string/string_B"></TextView> </LinearLayout>
简易的按钮事件
Button 事件处理
① 创建新工程
② 修改main.xml 布局,添加一个TextView 和一个Button
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/show_TextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:id="@+id/Click_Button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击" /> </LinearLayout>
③ 在mainActivity.java 中findViewByID()获取TextView 和Button 资源
show= (TextView)findViewById(R.id.show_TextView); press=(Button)findViewById(R.id.Click_Button);
④ 给Button 添加事件监听器Button.OnClickListener()
press.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub } });
⑤ 处理事件
press.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub show.setText("Hi , Google Android!"); } });
手机页面的转换
setContentView 的应用
① 新建工程
② string 添加两个提示字符串
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="layout1">this is Layout 1</string> <string name="layout2">This is Layout 2</string> <string name="app_name">Ex8_UI</string> </resources>
③ 新建color.xml 保存两个颜色值
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="black">#000000</color> <color name="white">#FFFFFFFF</color> </resources>
④ 修改main.xml 布局,添加一个TextView 和一个Button
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/black" xmlns:android="http://schemas.android.com/apk/res/android" > < TextView android:id="@+id/text1" android:textSize="24sp" android:layout_width="186px" android:layout_height="29px" android:layout_x="70px" android:layout_y="32px" android:text="@string/layout1" ></TextView> <Button android:id="@+id/button1" android:layout_width="118px" android:layout_height="wrap_content" android:layout_x="100px" android:layout_y="82px" android:text="Go to Layout2" ></Button> </AbsoluteLayout>
⑤ 新建mylayout.xml 布局文件,并添加两个View:TextView 和Button
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/white" xmlns:android="http://schemas.android.com/apk/res/android" > < TextView android:id="@+id/text2" android:textSize="24sp" android:layout_width="186px" android:layout_height="29px" android:layout_x="70px" android:layout_y="32px" android:textColor="@color/black" android:text="@string/layout2" > </TextView> <Button android:id="@+id/button2" android:layout_width="118px" android:layout_height="wrap_content" android:layout_x="100px" android:layout_y="82px" android:text="Go to Layout1" ></Button> </AbsoluteLayout>
⑥ 编写mainActivity.java
package zyf.Ex8_UI; import android.app.Activity;/* import 相关class */ import android.os.Bundle; import android.view.View; import android.widget.Button; public class Ex8_UI extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* 载入main.xml Layout */ setContentView(R.layout.main);// 默认启动布局 /* 以findViewById()取得Button 对象,并添加onClickListener */ Button b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { jumpToLayout2();// 调用跳转方法jumpToLayout2() } }); } /* method jumpToLayout2:将 layout 由main.xml 切换成mylayout.xml */ public void jumpToLayout2() { /* 将layout 改成mylayout.xml */ setContentView(R.layout.mylayout); /* 以findViewById()取得Button 对象,并添加onClickListener */ Button b2 = (Button) findViewById(R.id.button2); b2.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { jumpToLayout1();// 调用跳转方法jumpToLayout1() } }); } /* method jumpToLayout1:将 layout 由mylayout.xml 切换成main.xml */ public void jumpToLayout1() { /* 将layout 改成main.xml */ setContentView(R.layout.main); /* 以findViewById()取得Button 对象,并添加onClickListener */ Button b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { jumpToLayout2();// 调用跳转方法jumpToLayout2() } }); } }
调用另一个Activity
Intent 对象的使用
① 新建工程
② 在string.xml 中添加两个字符串
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, Ex9_UI!</string> <string name="app_name">Ex9_UI</string> <string name="act1">This is Activity 1!</string> <string name="act2">This is Activity 2!</string> </resources>
③ 新建color.xml 存放颜色值
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="black">#000000</color> <color name="white">#FFFFFFFF</color> </resources>
④ 修改main.xml 布局,添加一个TextView 和一个Button
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/black" xmlns:android="http://schemas.android.com/apk/res/android" > < TextView android:id="@+id/text1" android:textSize="24sp" android:layout_width="186px" android:layout_height="29px" android:layout_x="70px" android:layout_y="32px" android:text="@string/act1" ></TextView> <Button android:id="@+id/button1" android:layout_width="118px" android:layout_height="wrap_content" android:layout_x="100px" android:layout_y="82px" android:text="Go to Activity2" ></Button> </AbsoluteLayout>
⑤ 新建一个secondlayout.xml 布局,并添加一个TextView 和一个Button
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/white" xmlns:android="http://schemas.android.com/apk/res/android" > < TextView android:id="@+id/text2" android:textSize="24sp" android:layout_width="186px" android:layout_height="29px" android:layout_x="70px" android:layout_y="32px" android:textColor="@color/black" android:text="@string/act2" ></TextView> <Button android:id="@+id/button2" android:layout_width="118px" android:layout_height="wrap_content" android:layout_x="100px" android:layout_y="82px" android:text="Go to Activity1" ></Button> </AbsoluteLayout>
⑥ 新建SecondActivity.java 文件,添加内容
package zyf.Ex9_UI; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class SecondActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* 载入mylayout.xml Layout */ setContentView(R.layout.mylayout); /* 以findViewById()取得Button 对象,并添加onClickListener */ Button b2 = (Button) findViewById(R.id.button2); b2.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { /* new 一个Intent 对象,并指定要启动的class */ Intent intent = new Intent(); intent.setClass(SecondActivity.this, Ex9_UI.class); /* 调用一个新的Activity */ startActivity(intent); /* 关闭原本的Activity */ SecondActivity.this.finish(); } }); } }
⑦ 修改mainActivity.java,添加代码
package zyf.Ex9_UI; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Ex9_UI extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* 载入main.xml Layout */ setContentView(R.layout.main); /* 以findViewById()取得Button 对象,并添加onClickListener */ Button b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { /* new 一个Intent 对象,并指定要启动的class */ Intent intent = new Intent(); intent.setClass(Ex9_UI.this, SecondActivity.class); /* 调用一个新的Activity */ startActivity(intent); /* 关闭原本的Activity */ Ex9_UI.this.finish(); } }); } }
⑧ 在AndroidManifest.xml 文件中添加SecondActivity
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="zyf.Ex9_UI" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name" > <activity android:name=".Ex9_UI" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="SecondActivity"></activity> </application> <uses-sdk android:minSdkVersion="2" /> </manifest>
不同Activity之间的数据传递
Bundle 对象的实现
① 新建工程
② 修改main.xml 布局,添加UI 元素
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/widget0" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" > <TextView android:id="@+id/showText" android:layout_width="wrap_content" android:layout_height="26px" android:text="计算你的标准体重!" android:textSize="25px" android:layout_x="65px" android:layout_y="21px"> </TextView> <TextView android:id="@+id/text_Sex" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="性别:" android:layout_x="71px" android:layout_y="103px"> </TextView> <TextView android:id="@+id/text_Height" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="身高:" android:layout_x="72px" android:layout_y="169px"> </TextView> <RadioGroup android:id="@+id/radioGroup" android:layout_width="wrap_content" android:layout_height="37px" android:orientation="horizontal" android:layout_x="124px" android:layout_y="101px"> <RadioButton android:id="@+id/Sex_Man" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男"> </RadioButton> <RadioButton android:id="@+id/Sex_Woman" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女"> </RadioButton> </RadioGroup> <EditText android:id="@+id/height_Edit" android:layout_width="123px" android:layout_height="wrap_content" android:text="" android:textSize="18sp" android:layout_x="124px" android:layout_y="160px"> </EditText> <Button android:id="@+id/button_OK" android:layout_width="80px" android:layout_height="wrap_content" android:text="计算" android:layout_x="125px" android:layout_y="263px"> </Button> </AbsoluteLayout>
③ 新建mylayout.xml,并添加UI 元素
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" > < TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:layout_x="50px" android:layout_y="72px" ></TextView> </AbsoluteLayout>
④ 新建一个BMIActivity.java
package zyf.Ex10_UI; import android.app.Activity; import android.os.Bundle; public class BMIActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } }
⑤ 在AndroidManifest.xml 添加Activity 定义
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="zyf.Ex10_UI" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name" > <activity android:name=".Ex10_UI" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="BMIActivity"></activity> </application> <uses-sdk android:minSdkVersion="2" /> </manifest>
⑥ 修改BMIActivity.java 内容
package zyf.Ex10_UI; /* import 相关class */ import java.text.DecimalFormat; import java.text.NumberFormat; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class BMIActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* 加载main.xml Layout */ setContentView(R.layout.mylayout); /* 取得Intent 中的Bundle 对象*/ Bundle bunde = this.getIntent().getExtras(); /* 取得Bundle 对象中的数据*/ String sex = bunde.getString("sex"); double height = bunde.getDouble("height"); /* 判断性别*/ String sexText = ""; if (sex.equals("M")) { sexText = "男性"; } else { sexText = "女性"; } /* 取得标准体重*/ String weight = this.getWeight(sex, height); /* 设置输出文字*/ TextView tv1 = (TextView) findViewById(R.id.text1); tv1.setText("你是一位" + sexText + "\n你的身高是" + height + "厘米\n你的标准体重是"+ weight + "公斤"); } /* 四舍五入的method */ private String format(double num) { NumberFormat formatter = new DecimalFormat("0.00"); String s = formatter.format(num); return s; } /* 以findViewById()取得Button 对象,并添加onClickListener */ private String getWeight(String sex, double height) { String weight = ""; if (sex.equals("M")) { weight = format((height - 80) * 0.7); } else { weight = format((height - 70) * 0.6); } return weight; } }
⑦ 修改mainActivity.java 内容
package zyf.Ex10_UI; /* import 相关class */ import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; public class Ex10_UI extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* 载入main.xml Layout */ setContentView(R.layout.main); /* 以findViewById()取得Button 对象,并添加onClickListener */ Button ok = (Button) findViewById(R.id.button_OK); ok.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { /* 取得输入的身高*/ EditText et = (EditText) findViewById(R.id.height_Edit); double height = Double.parseDouble(et.getText().toString()); /* 取得选择的性别*/ String sex = ""; RadioButton rb1 = (RadioButton) findViewById(R.id.Sex_Man); if (rb1.isChecked()) { sex = "M"; } else { sex = "F"; } /* new 一个Intent 对象,并指定class */ Intent intent = new Intent(); intent.setClass(Ex10_UI.this, BMIActivity.class); /* new 一个Bundle对象,并将要传递的数据传入*/ Bundle bundle = new Bundle(); bundle.putDouble("height", height); bundle.putString("sex", sex); /* 将Bundle 对象assign 给Intent */ intent.putExtras(bundle); /* 调用Activity EX03_10_1 */ startActivity(intent); } }); } }
返回数据到前一个Activity
startActivityForResult 方法
① 新建工程
② 修改main.xml 布局,添加UI 元素
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/widget0" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" > <TextView android:id="@+id/showText" android:layout_width="wrap_content" android:layout_height="26px" android:text="计算你的标准体重!" android:textSize="25px" android:layout_x="65px" android:layout_y="21px"> </TextView> <TextView android:id="@+id/text_Sex" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="性别:" android:layout_x="71px" android:layout_y="103px"> </TextView> <TextView android:id="@+id/text_Height" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="身高:" android:layout_x="72px" android:layout_y="169px"> </TextView> <RadioGroup android:id="@+id/radioGroup" android:layout_width="wrap_content" android:layout_height="37px" android:orientation="horizontal" android:layout_x="124px" android:layout_y="101px"> <RadioButton android:id="@+id/Sex_Man" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男"> </RadioButton> <RadioButton android:id="@+id/Sex_Woman" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女"> </RadioButton> </RadioGroup> <EditText android:id="@+id/height_Edit" android:layout_width="123px" android:layout_height="wrap_content" android:text="" android:numeric="decimal" android:textSize="18sp" android:layout_x="124px" android:layout_y="160px"> </EditText> <Button android:id="@+id/button_OK" android:layout_width="80px" android:layout_height="wrap_content" android:text="计算" android:layout_x="125px" android:layout_y="263px"> </Button> </AbsoluteLayout>
③ 新建一个mylayout.xml 布局,添加UI 元素
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" > < TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:layout_x="50px" android:layout_y="72px" ></TextView> <Button android:id="@+id/button_back" android:layout_width="100px" android:layout_height="48px" android:text="回上一页" android:layout_x="110px" android:layout_y="180px" ></Button> </AbsoluteLayout>
④ 新建一个SecondActivity.java 的Activity 子类
package zyf.Ex11_UI_A; import android.app.Activity; import android.os.Bundle; public class BMIActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } }
⑤ 在AndroidManifest.xml 中添加SecondActivity 这个Activity
必须在AndroidManifest 中注册新的
Activity,否则程序出错
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="zyf.Ex11_UI_A" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name" > <activity android:name=".Ex11_UI_A" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="BMIActivity"></activity> </application> <uses-sdk android:minSdkVersion="2" /> </manifest>
上一例子中新添加
⑥ 修改mainActivity.java 代码
package zyf.Ex11_UI_A; import android.app.Activity;/* import 相关class */ import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.Toast; public class Ex11_UI_A extends Activity { protected int my_requestCode = 1550; private EditText edit_height; private RadioButton radiobutton_Man, radiobutton_Woman; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* 载入main.xml Layout */ setContentView(R.layout.main); /* 以findViewById()取得Button 对象,并添加onClickListener */ Button ok = (Button) findViewById(R.id.button_OK); edit_height = (EditText) findViewById(R.id.height_Edit); radiobutton_Man = (RadioButton) findViewById(R.id.Sex_Man); radiobutton_Woman = (RadioButton) findViewById(R.id.Sex_Woman); ok.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { try { /* 取得输入的身高*/ double height = Double.parseDouble(edit_height.getText() .toString()); /* 取得选择的性别*/ String sex = ""; if (radiobutton_Man.isChecked()) { sex = "M"; } else { sex = "F"; } /* new 一个Intent 对象,并指定class */ Intent intent = new Intent(); intent.setClass(Ex11_UI_A.this, BMIActivity.class); /* new 一个Bundle对象,并将要传递的数据传入*/ Bundle bundle = new Bundle(); bundle.putDouble("height", height); bundle.putString("sex", sex); /* 将Bundle 对象assign 给Intent */ intent.putExtras(bundle); /* 调用Activity EX03_10_1 */ startActivityForResult(intent, my_requestCode); } catch (Exception e) { // TODO: handle exception Toast.makeText(Ex11_UI_A.this, R.string.errorString, Toast.LENGTH_LONG).show(); } } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); switch (resultCode) { case RESULT_OK: /* 取得来自Activity2 的数据,并显示于画面上*/ Bundle bunde = data.getExtras(); String sex = bunde.getString("sex"); double height = bunde.getDouble("height"); edit_height.setText("" + height); if (sex.equals("M")) { radiobutton_Man.setChecked(true); } else { radiobutton_Woman.setChecked(true); } break break; default: break; } } }
新重写方法,等待返回结果
⑦ 修改SecondActivity.java 代码
package zyf.Ex11_UI_A; /* import 相关class */ import java.text.DecimalFormat; import java.text.NumberFormat; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class BMIActivity extends Activity { private Intent intent; private Bundle bunde; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* 加载main.xml Layout */ setContentView(R.layout.mylayout); /* 取得Intent 中的Bundle 对象*/ intent = this.getIntent(); bunde = intent.getExtras(); /* 取得Bundle 对象中的数据*/ String sex = bunde.getString("sex"); double height = bunde.getDouble("height"); /* 判断性别*/ String sexText = ""; if (sex.equals("M")) { sexText = "男性"; } else { sexText = "女性"; } /* 取得标准体重*/ String weight = this.getWeight(sex, height); /* 设置输出文字*/ TextView tv1 = (TextView) findViewById(R.id.text1); tv1.setText("你是一位" + sexText + "\n你的身高是" + height + "厘米\n你的标准体重是"+ weight + "公斤"); /* 以findViewById()取得Button 对象,并添加onClickListener */ Button b1 = (Button) findViewById(R.id.button_back); b1.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub /* 返回result 回上一个activity */ BMIActivity.this.setResult(RESULT_OK, intent); /* 结束这个activity */ BMIActivity.this.finish(); } }); } /* 四舍五入的method */ private String format(double num) { NumberFormat formatter = new DecimalFormat("0.00"); String s = formatter.format(num); return s; } /* 以findViewById()取得Button 对象,并添加onClickListener */ private String getWeight(String sex, double height) { String weight = ""; if (sex.equals("M")) { weight = format((height - 80) * 0.7); } else { weight = format((height - 70) * 0.6); } return weight; } }
- 新版Android开发教程_笔记七--基础UI编程2.pdf (6.8 MB)
- 下载次数: 0
发表评论
-
Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
2015-12-18 22:23 516转载请注明出处:http:// ... -
android arcgis map应用
2013-10-14 20:11 13911 符号渲染 1.1 Symbol Symbol主要是对Gr ... -
lost android 开发教程二
2012-04-19 13:13 1923第二季课程介绍 1、控件使用方法介绍 Sprinner, ... -
android基础
2011-08-10 21:23 1060lost in android Linux 环境 ... -
3G应用开发之Android
2011-04-10 21:12 1654什么是3G 3G,全称为3rd Generation,中文含义 ... -
扫雷游戏
2011-02-25 16:32 1257MineSweeper是一个不错的Android开源扫雷游戏, ... -
应用、permission、资源
2011-02-25 13:45 1484应用 为程序添加Menu菜单 //创建OptionsMenu ... -
文件存取、数据库编程
2011-02-25 13:41 728文件存取、数据库编程 -
新版Android开发可视化UI设计DroidDraw
2011-02-24 15:16 1270新版Android开发可视化UI设计DroidDraw -
Android 基础UI编程4
2011-02-23 11:39 1404Android 基础UI编程 专业相框设计 ImageView ... -
Android UI编程基础3
2011-02-23 09:11 1089Android UI编程基础 EditText 与TextVi ... -
Android 基础UI编程1
2011-02-18 15:45 959Android 基础UI编程 更改与显示文字标签 TextVi ... -
android开发--布局
2011-02-17 16:25 1056Android应用开发3 使用Bundle在Activity间 ... -
Android 模拟器
2011-02-17 15:40 1470Android 模拟器 模拟器参数 参数格式 option 选 ... -
Android开发--Dalvik ADB
2011-02-17 10:41 1541Android虚拟机Dalvik Dalvik冲击 随着Goo ... -
Android开发环境搭建
2011-02-17 09:38 1353Android开发环境搭建 ADV的创建 ADT0.9.1 版 ... -
基础入门一
2011-02-17 09:12 1086开放手机联盟--Open HandsetAlliance 什么 ...
相关推荐
本节我们将深入探讨“Android基础UI编程4”,主要关注Android中的布局管理、控件使用以及自定义UI组件等内容。 一、Android布局管理 Android提供多种布局管理器,如LinearLayout、RelativeLayout、ConstraintLayout...
本教程《新编Android 基础UI编程》聚焦于为初学者提供Android UI编程的基础知识,帮助开发者构建出美观且易用的应用界面。下面将详细阐述Android UI编程的关键概念和实践技巧。 1. **XML布局文件**:Android UI主要...
《新编Android基础UI编程》是一本专注于Android用户界面(UI)开发的教程,适合初学者及有一定经验的开发者深入理解Android UI系统。该书涵盖了从基本的布局管理器到高级自定义视图的设计,旨在帮助读者掌握创建美观...
以下是一些关于Android基础UI编程的知识点: 1. **标题和状态栏的隐藏**: - Android中的Activity可以通过调用`requestWindowFeature()`方法来控制标题栏和状态栏的显示与隐藏。 - 要隐藏标题栏,可以在`...
教程名称: 老罗Android开发视频教程-Android常用UI控件编程【32集】【】Android常用UI控件编程第七集【】Android常用UI控件编程第二十三集【】Android常用UI控件编程第二十九集【】Android常用UI控件编程第二十二...
以上内容只是Android UI编程的基础,实际开发中还会涉及到更复杂的布局管理器(如 `RelativeLayout` 和 `GridLayout`),自定义视图,动画,触摸事件处理,以及各种控件的使用等。理解并熟练掌握这些概念对于开发出...
这份"Android开发笔记——UI基础编程"的资料集包含了两部分:新版Android开发教程+笔记七--基础UI编程1.pdf和新版Android开发教程+笔记七--基础UI编程2.pdf,将深入讲解Android应用程序中用户界面的设计与实现。...
本教程将深入讲解Android基础UI编程的第二部分,旨在帮助开发者掌握构建美观、易用的Android应用界面的方法。 首先,我们要了解Android UI的基础组件,这些组件构成了界面的基本元素。在Android中,我们主要使用...
在Android应用开发中,文件存取、数据库编程和UI编程是至关重要的组成部分。这份资料集包含两个PDF文档,分别详细讲解了这些主题。下面将分别介绍这三个关键领域的主要知识点。 一、Android文件存取 在Android系统...
根据给定的文件信息,以下是对“Android:基础UI编程3(中文)”这一主题的知识点详细解析: ### Android UI 编程基础 #### 一、理解Android UI编程 Android UI编程是开发移动应用时不可或缺的一部分,它涉及到创建...
新版Android开发教程-基础UI编程
在Android应用开发中,UI编程是一个核心部分,它涉及到用户界面设计、布局控制、动画效果以及资源使用等多个方面。接下来,我们将会从提供的文件信息中提取相关的知识点进行详细说明。 首先,标题《android 应用 UI...
本教程将深入探讨Android基础UI编程的第四部分,帮助开发者掌握构建吸引人的、功能丰富的用户界面的关键技术。 首先,Android UI框架的核心是布局(Layouts),它是控制应用程序视图元素如何排列和对齐的基础。在...
本教程将深入探讨Android的基础UI编程,包括各种常用的UI控件及其用法。 首先,我们从最基本的控件开始。TextView是Android中最常见的控件,用于显示文本。你可以设置文字内容、字体样式、颜色等属性。比如,通过`...
在本资源中,"老罗Android开发视频教程 (android常用UI编程) 26-33集源码.zip"是一个包含Android应用开发教学内容的压缩文件。老罗,可能指的是知名的技术讲师罗永浩,以其通俗易懂的讲解风格而闻名。这个教程聚焦于...
标题和描述提及了“新版Android开发教程+笔记七--基础UI编程1”,以及“安卓开发必备”,因此本篇内容将主要围绕Android基础UI编程展开。 Android UI编程是构建Android应用界面的核心部分。它涉及到使用各种布局和...