用android stdio写一个程序完成如图所示ui界面,要求:当用户选择“普通”时,输入对应的金
时间: 2024-10-12 12:10:02 浏览: 18
这个程序需要实现两个功能:输入金额和选择打折方式。根据引用内容,我们可以在UI界面中添加两个EditText控件和一个Button控件,分别用于输入金额和点击计算按钮。同时,我们还需要添加一个RadioGroup控件和两个RadioButton控件,用于选择打折方式。当用户选择“普通”时,我们可以直接将输入的金额显示在上方;当用户选择“VIP”时,我们需要将输入的金额乘以0.8后再显示在上方。
代码实现如下:
```
// 声明控件
private EditText etAmount;
private Button btnCalculate;
private RadioGroup rgDiscount;
private RadioButton rbNormal, rbVIP;
private TextView tvResult;
// 初始化控件
etAmount = findViewById(R.id.et_amount);
btnCalculate = findViewById(R.id.btn_calculate);
rgDiscount = findViewById(R.id.rg_discount);
rbNormal = findViewById(R.id.rb_normal);
rbVIP = findViewById(R.id.rb_vip);
tvResult = findViewById(R.id.tv_result);
// 设置按钮点击事件
btnCalculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 获取输入的金额
String amountStr = etAmount.getText().toString();
if (TextUtils.isEmpty(amountStr)) {
Toast.makeText(MainActivity.this, "请输入金额", Toast.LENGTH_SHORT).show();
return;
}
double amount = Double.parseDouble(amountStr);
// 判断打折方式
if (rbNormal.isChecked()) {
// 普通方式,直接显示金额
tvResult.setText(String.format(Locale.getDefault(), "不打折的金额为%.2f元", amount));
} else if (rbVIP.isChecked()) {
// VIP方式,打8折后显示金额
double result = amount * 0.8;
tvResult.setText(String.format(Locale.getDefault(), "打8折后的金额为%.2f元", result));
}
}
});
```
阅读全文