Android| |常见的控件

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>

结果如图所示:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值