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>
效果图: