目的: 做一个包含ImageView、RadioButton的App,要求RadioButton能够控制ImageView图片的显示。
方法简介: 界面使用了RelativeLayout布局,其中嵌套了一个TextView控件、一个RadioGroup控件和一个ImageView控件。在RadioGroup控件中嵌套了两个RadioButton控件。
进入打赏页面,页面默认显示支付宝打赏页面,点击RadioButton切换后显示微信打赏界面。
1. 打赏窗口实现
activity_mian.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="cn.edu.xynu.computer.myapplication.MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="路漫漫其修远兮,吾将上下而求索!"
android:textSize="20dp" />
<RadioGroup
android:id="@+id/r_grpoup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView"
android:layout_marginLeft="60dp"
android:layout_marginRight="60dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="支付宝"
android:checked="true"
android:onClick="Change"/>
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="微信"
android:onClick="Change"/>
</RadioGroup>
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/r_grpoup"
android:layout_centerHorizontal="true"
android:layout_margin="40px"
android:adjustViewBounds="true"
android:maxHeight="1000px"
android:maxWidth="1000px"
app:srcCompat="@drawable/zhifubao" />
</RelativeLayout>
</android.support.constraint.ConstraintLayout>
MainActivity.java:
package cn.edu.xynu.computer.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.Toast;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private ImageView mimgview;
private Map<String, Integer> m = new HashMap<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mimgview = (ImageView) findViewById(R.id.imageView);
m.put("支付宝",R.drawable.zhifubao);
m.put("微信",R.drawable.weixin);
}
public void Change(View view){
RadioButton radioButton= (RadioButton) view;
String str=radioButton.getText().toString();
mimgview.setImageResource(m.get(str));
}
}
效果显示:
选择支付宝:
选择微信:
