Android常见的Widget控件的使用

设计并实现一个银行整存整取的定期储蓄业务的计算界面,完成以下功能:

1、  给该UI界面添加一张背景图片;

2、界面中包含一个文本输入框、一个单选按钮和一个“确定”按钮和一个“重置”按钮,单选框包含3个选项(存款1年、存款2年、存款3年);

3、当用户在文本框输入一个存款本金,并选择存款年限,单击“确定”按钮或者按“回车键后,在界面的底部用文字显示到期取款时银行应支付的本息;单击“重置”按钮,清空输入和结果。

4、年利率分别为:1年2.25%、2年2.7%、3年3.24%。


MainActivity.java

package com.example.bank;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.KeyEvent;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.inputmethod.EditorInfo;

import android.widget.Button;

import android.widget.EditText;

import android.widget.RadioButton;

import android.widget.TextView;

import android.widget.TextView.OnEditorActionListener;

 

public class MainActivity extends Activity {

 

    EditText etxt;

    TextView results;

    double F,P,D,d;

    int N;

    RadioButton rbtn1, rbtn2, rbtn3;

    Button btnYes,btnReset;

   

    @Override

    protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.activity_main);

      

    etxt=(EditText)findViewById(R.id.etxt);  

    results=(TextView)findViewById(R.id.tv_results);

    rbtn1=(RadioButton)findViewById(R.id.rbtn_1);

    rbtn2=(RadioButton)findViewById(R.id.rbtn_2);

    rbtn3=(RadioButton)findViewById(R.id.rbtn_3);

    btnYes=(Button)findViewById(R.id.btn_yes);

    btnReset=(Button)findViewById(R.id.btn_reset);

   

 

 

    btnYes.setOnClickListener(new OnClickListener(){

       @Override

       public void onClick(View v) {

           if(rbtn1.isChecked()){

              N=1;

              d=(1+0.0225);

              P=Double.parseDouble(etxt.getText().toString());

              D=Math.pow(d,N);

              F=P*D;

              results.setText("到期取款的本息:\n"+F); 

           }

           else if(rbtn2.isChecked()){

              N=2;

              d=(1+0.027);

              P=Double.parseDouble(etxt.getText().toString());

              D=Math.pow(d,N);

              F=P*D;

              results.setText("到期取款的本息:\n"+F); 

              }

           else if(rbtn3.isChecked()){

              N=3;

              d=(1+0.0324);

              P=Double.parseDouble(etxt.getText().toString());

              D=Math.pow(d,N);

              F=P*D;

              results.setText("到期取款的本息:\n"+F); 

              }

            }

       });

   

 

 

    btnReset.setOnClickListener(new OnClickListener(){

       @Override

       public void onClick(View v) {

           etxt.setText(" ");

           rbtn1.setChecked(false);

           rbtn2.setChecked(false);

           rbtn3.setChecked(false);

           results.setText(" ");

          

       }});

   

 

 

    etxt.setOnEditorActionListener(new OnEditorActionListener(){

       @Override

       public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {if (actionId == EditorInfo.IME_ACTION_SEND|| (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {

              if(rbtn1.isChecked()){

               N=1;

               d=(1+0.0225);

               P=Double.parseDouble(etxt.getText().toString());

               D=Math.pow(d,N);

               F=P*D;

               results.setText("到期取款的本息:\n"+F); 

            }

            else if(rbtn2.isChecked()){

               N=2;

               d=(1+0.027);

               P=Double.parseDouble(etxt.getText().toString());

               D=Math.pow(d,N);

               F=P*D;

               results.setText("到期取款的本息:\n"+F); 

               }

            else if(rbtn3.isChecked()){

               N=3;

               d=(1+0.0324);

               P=Double.parseDouble(etxt.getText().toString());

               D=Math.pow(d,N);

               F=P*D;

               results.setText("到期取款的本息:\n"+F); 

               }  

            }

           

            return true;

        }

    }

);

    }

}






activity_main.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<LinearLayout

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical"

    android:gravity="left"

    android:background="@drawable/b"

    >

<TextView 

       android:id="@+id/tv1"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

       android:text="请输入存款本金:"

       />

 

    <EditText

       android:id="@+id/etxt"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

       android:text=""

       android:hint="请输入金额"

       android:imeOptions="actionSend">

</EditText>

 

<TextView 

       android:id="@+id/tv2"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

       android:text="请选择存款年限:"

       />

 

        <RadioGroup

       android:id="@+id/rg"

       android:orientation="horizontal"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content">

 

        <RadioButton

       android:id="@+id/rbtn_1"

       android:layout_width="wrap_content"

       android:text="存款1"

       android:checked="true"

       /> 

 

        <RadioButton

       android:id="@+id/rbtn_2"

       android:layout_width="wrap_content"

       android:text="存款2"

       />

 

        <RadioButton

       android:id="@+id/rbtn_3"

        android:layout_width="wrap_content"

       android:text="存款3"/> 

        </RadioGroup>

 

   <LinearLayout

        android:orientation="horizontal"   

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:gravity="center"  >

 

    <Button

      android:id="@+id/btn_yes"

      android:text="确定" 

      android:layout_width="100sp" 

      android:layout_height="wrap_content"

      />

 

   <Button

      android:id="@+id/btn_reset"

      android:text="重置" 

      android:layout_width="100sp" 

      android:layout_height="wrap_content"

      />

</LinearLayout>

 

 

    <TextView 

       android:id="@+id/tv_results"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

       android:text="到期取款的本息:\n"

       android:textColor="#ff00ff" 

       />

 

    </LinearLayout>

 

效果图:

Android常见的Widget控件的使用


Android常见的Widget控件的使用


Android常见的Widget控件的使用