一、Android的常用控件
Android常用的控件有TextView、EditText、Button、Menu,下面将使用一个乘法计算器的例子来说明这几种常用控件的使用。
二、计算器功能界面
1.计算界面
2.输入界面
3.结果界面
三、代码
1.目录结构:
2.代码
Activity03.java
package com.android.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Activity03 extends Activity {
private EditText factorOne = null; //被乘数
private TextView symbol = null; //符号
private EditText factorTwo = null; //乘数
private Button calculate = null; //计算按钮
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
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.setText(R.string.symbol);
calculate.setText(R.string.calculate);
calculate.setOnClickListener(new MyButtonListener());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
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);
}
class MyButtonListener implements OnClickListener{
public void onClick(View v) {
String factorOneStr = factorOne.getText().toString();
String factorTwoStr = factorTwo.getText().toString();
Intent intent = new Intent();
intent.putExtra("one", factorOneStr);
intent.putExtra("two", factorTwoStr);
intent.setClass(Activity03.this, ResultActivity.class);
Activity03.this.startActivity(intent);
}
}
}
main.xml——Activity03布局文件
<?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" > <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" /> <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>
string.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, Activity03!</string> <string name="app_name">Activity测试03</string> <string name="symbol">乘以</string> <string name="calculate">计算</string> <string name="result">结果</string> <string name="exit">退出</string> <string name="about">关于</string> </resources>
ResultActivity.java——结果显示
package com.android.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class ResultActivity extends Activity{
private TextView resultText = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
Intent intent = getIntent();
String factorOne = intent.getStringExtra("one");
String factorTwo = intent.getStringExtra("two");
int resultTemp = Integer.parseInt(factorOne)*Integer.parseInt(factorTwo);
System.out.println("-----dfss--------"+resultTemp);
String result = resultTemp+"";
resultText = (TextView)findViewById(R.id.result);
resultText.setText(result);
}
}
result.xml——ResultActivity布局文件
<?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/result" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
完成!