1. 综合使用TextView,ImageView,RadioButton控件实现一个图片选择器,通过勾选花朵的名称显示相应的图片,界面如附件图1、图2所示。具体要求如下:
a) 使用滚动字幕显示标题“请选择你喜欢的花”
b) 使用RadioGroup 和RadioButton 创建两行三列的单选按钮;
c) 当用户选中某一花名,在页面上显示该种花的图片
任务一:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever" 在跑马灯问题上首先设置为滚动状态,并设置为永久跑马灯,
android:singleLine="true"
android:text=" 选择你喜欢的小花!"
android:gravity="center"
android:textColor="@android:color/holo_blue_dark"
android:textSize="50dp"/>
<ImageView
android:layout_marginTop="30dp"
android:layout_width="340dp"
android:layout_height="350dp"
android:gravity="center"
android:id="@+id/tupian"
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/hualhua"
android:layout_marginStart="35dp"
android:layout_alignTop="@+id/tupian"
android:layout_alignParentStart="true">
<RadioGroup
android:layout_marginTop="300dp"
android:id="@+id/rg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
>
<RadioButton
android:id="@+id/dingxianghua"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/activity_vertical_margin"
android:checked="true"
android:text="丁香花"
android:textSize="20dp"
/>
<RadioButton
android:id="@+id/lanhua"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="兰花 "
android:textSize="20dp"/>
<RadioButton
android:id="@+id/hanxiucao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="含羞草"
android:textSize="20dp"/>
</RadioGroup>
<RadioGroup
android:id="@+id/rg2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
>
<RadioButton
android:id="@+id/meiguihua"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="玫瑰花"
android:textSize="20dp"
/>
<RadioButton
android:id="@+id/baihehua"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="百合花 "
android:textSize="20dp"/>
<RadioButton
android:id="@+id/xunyicao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="薰衣草"
android:textSize="20dp"/>
</RadioGroup>
</RadioGroup>
</RelativeLayout>
在布局问题上,一开始花类选项都在跑马灯下面,后来改了代码,添了一些东西。
![](https://i-blog.csdnimg.cn/blog_migrate/4aa2f576393c7f98aebf80ae5f154fc2.png)
JAVA编写:
package cn.edu.niit.qiuhuiapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import cn.edu.niit.qiuhuiapplication.R;
public class MainActivity extends AppCompatActivity {
private ImageView drawable;
private RadioButton dingxianghua;
private RadioButton lanhua;
private RadioButton hanxiucao;
private RadioButton meiguihua;
private RadioButton baihehua;
private RadioButton xunyicao;
private RadioGroup rg;
private RadioGroup rb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取所需的对象
drawable = (ImageView) findViewById(R.id.tupian);
dingxianghua = (RadioButton) findViewById(R.id.dingxianghua);
lanhua = (RadioButton) findViewById(R.id.lanhua);
hanxiucao = (RadioButton) findViewById(R.id.hanxiucao);
meiguihua = (RadioButton) findViewById(R.id.meiguihua);
baihehua = (RadioButton) findViewById(R.id.baihehua);
xunyicao = (RadioButton) findViewById(R.id.xunyicao);
//设置监听事件
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
if(dingxianghua.isChecked()){
使用if从句
drawable.setImageResource(R.drawable.丁香花);
}
}
});
lanhua.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (lanhua.isChecked()) {
drawable.setImageResource(R.drawable.兰花);
}
}
});
hanxiucao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (hanxiucao.isChecked()) {
drawable.setImageResource(R.drawable.含羞草);
}
}
});
meiguihua.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (meiguihua.isChecked()) {
drawable.setImageResource(R.drawable.玫瑰花);
;
}
}
});
baihehua.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (baihehua.isChecked()) {
drawable.setImageResource(R.drawable.百合);
}
}
});
xunyicao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (xunyicao.isChecked()) {
drawable.setImageResource(R.drawable.薰衣草);
}
}
});
}
}
运行结果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/c96301b1b82e1c711aa3b4591c64aae9.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/97a32927a93d3b15c140f3c73c106342.jpeg)
问题:1.跑马灯无法滚动
2.图片无法居中
3.id没有与前面所对应
任务二:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="cn.edu.niit.qhapplication.MainActivity">
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:id="@+id/tupian" />
<Button
android:layout_gravity="bottom"
android:id="@+id/QH"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="退出"
tools:layout_editor_absoluteX="280dp"
tools:layout_editor_absoluteY="400dp"
android:layout_marginStart="45dp"
android:layout_marginBottom="33dp"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
编译布局,设置退出按键的位置,适当调整布局,
问题:代码结束之后没有错误,但是运行的时候就显示一张图片,反复调试也没用。