1、TextView的使用方法
通常用在在Activity中显示一个text信息
2、EditText的使用方法
可编辑的文本框,类似于HTML中文本框
3、Button的使用方法
按钮
4、Menu的使用方法
就是菜单
下面我们用一个demo来学习下以上组件
demo1:计算两个数的乘积
思路:需要两个activity,第一个MainActivity:显示乘数和被乘数以及按钮,收集到两个数后把数据传送到ResultActivity;第二个ResultActivity:获取MainActivity传过来的数据后计算,并显示乘积结果,设计一个Menu菜单,然后给菜单设置功能
代码以及注释如下:
MainActivity.java:作用见注释
/**
* 1、在Activity当中,要声明四个控件
* 2、要为其中的两个控件设置显示的值
* 3、创建一个监听器类,监听按钮按下的动作
* 4、将监听器类打开,绑定在按钮对象身上
*/
public class MainActivity extends AppCompatActivity {
private EditText factorOne;
private EditText factorTwo;
private TextView symbol;
private Button calculate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//根据控件的id来取得代表控件的对象
factorOne=(EditText)findViewById(R.id.factorOne);
factorTwo=(EditText)findViewById(R.id.factorTwo);
symbol=(TextView)findViewById(R.id.symbol);
calculate=(Button)findViewById(R.id.calculate);
//为symbol和calculate设置显示的值
//symbol.setText("乘以");
//calculate.setText("计算");
symbol.setText(R.string.symbol);
calculate.setText(R.string.calculate);
//将监听器绑定到按钮对象上面
calculate.setOnClickListener(new CalculateListener());
}
//编写一个监听器
class CalculateListener implements View.OnClickListener{
@Override
public void onClick(View v) {
//1、取得两个EditText的控件的值
String factorOneStr=factorOne.getText().toString();
String factorTwoStr=factorTwo.getText().toString();
//2、将这两个值存放到Intent对象当中
Intent intent=new Intent();
intent.putExtra("one",factorOneStr);
intent.putExtra("two", factorTwoStr);
intent.setClass(MainActivity.this,ResultActivity.class);
//3、使用这个Intent对象来启动ResultActivity
MainActivity.this.startActivity(intent);
}
}
//当客户点击MENU按钮时,调用该方法
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//第二个参数是item的id
menu.add(0,1,1,R.string.exit);
menu.add(0,2,2,R.string.about);
return super.onCreateOptionsMenu(menu);
}
//当客户点击菜单中的某个选项,会调用该方法
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId()==1){
finish();
}
return super.onOptionsItemSelected(item);
}
}
MainActivity.xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
tools:context="chao.pers.activity_03.MainActivity">
<EditText
android:id="@+id/factorOne"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/symbol"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World!" />
<EditText
android:id="@+id/factorTwo"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/calculate"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
ResultActivity.java,作用见注释
/**
* 1、接收MainActivity当中所传递的值
* 2、计算两个值的积
* 3、将计算的结果显示在Activity上
*/
public class ResultActivity extends AppCompatActivity {
private TextView resultView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
resultView=(TextView)findViewById(R.id.result);
//得到Intent对象的值
Intent intent=getIntent();
String factorOneStr=intent.getStringExtra("one");
String factorTwoStr=intent.getStringExtra("two");
int factorOneInt=Integer.parseInt(factorOneStr);
int factorTwoInt=Integer.parseInt(factorTwoStr);
//计算两个值的积
int result=factorOneInt*factorTwoInt;
resultView.setText(result+"");
}
}
ResultActivity.xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="chao.pers.activity_03.ResultActivity">
<TextView
android:id="@+id/result"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
string.xml,一个简单的xml用来统一国际化
<resources>
<string name="app_name">activity_03</string>
<string name="symbol">乘以</string>
<string name="calculate">计算</string>
<string name="exit">退出</string>
<string name="about">关于</string>
</resources>
Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="chao.pers.activity_03">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ResultActivity"></activity>
</application>
</manifest>
结果如图所示: