android课后作业

图片选择器

根据老师上课布置的作业制作一个图片选择器,书上的列本是花的而我在花的基础上更换了一下

android界面布局的的代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
//android的界面布局规划
    <TextView
        android:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:textColor="#cc0000"
        android:textSize="50sp"
        android:ellipsize="marquee"
        android:focusable="true"
        android:marqueeRepeatLimit="marquee_forever"
        android:focusableInTouchMode="true"
        android:scrollHorizontally="true"
        android:text="最喜欢的港台明星"
        />
//滚动字幕跑马灯的实现代码


    <ImageView
        android:layout_width="180dp"
        android:layout_height="180dp"
        android:src="@drawable/jacky"
        android:layout_gravity="center_horizontal"
        android:id="@+id/imageView" />
//图片展示代码

    <TextView
        android:layout_width="match_parent"
        android:layout_height="30dp" />
//增加一个空白布局使得图片与按钮之间距离美观

    <RadioGroup
    android:id="@+id/第1组"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:gravity="center"
    android:orientation="horizontal">

    <RadioButton
        android:id="@+id/zhangxueyou"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="@dimen/activity_vertical_margin"
        android:text="张学友"
        android:textSize="20sp" />

    <RadioButton
        android:id="@+id/liudehua"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="@dimen/activity_vertical_margin"
        android:text="刘德华"
        android:textSize="20sp" />
    <RadioButton
        android:id="@+id/liming"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="@dimen/activity_vertical_margin"
        android:text="黎明"
        android:textSize="20sp" />
</RadioGroup>
使用一个RadioGroup单选组合框把RadioButton框起来。这样实现了单选效果

    <RadioGroup
        android:id="@+id/第2组"
        android:layout_width="wrap_content"
        android:layout_height="48dp"
        android:layout_gravity="center"
        android:orientation="horizontal">

    <RadioButton
        android:id="@+id/guofuc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="@dimen/activity_vertical_margin"
        android:text="郭富城"
        android:textSize="20sp" />

    <RadioButton
        android:id="@+id/sunyaowei"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="@dimen/activity_vertical_margin"
        android:text="孙耀威"
        android:textSize="20sp" />
    <RadioButton
        android:id="@+id/linzhiying"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="@dimen/activity_vertical_margin"
        android:text="林志颖"
        android:textSize="20sp" />



</RadioGroup>
</LinearLayout>
//使用俩个RadioGroup才能实现俩个并排按钮的效果,和上面的用法一样把RadioButon框起来实现俩行每行三个按钮的控制显示

界面的实现如下列图片显示所示

*我没有按照书上的例题所写,稍加改了一下

选择器所需的图片

*将所需的图片放于一个drawable文件夹中
*在drawable中建一个File用来编写所需全部图片代码代入

<level-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:drawable="@drawable/zhangxueyou"
        android:maxLevel="0"/>

    <item
        android:drawable="@drawable/liudehua"
        android:maxLevel="1"/>

    <item
        android:drawable="@drawable/liming"
        android:maxLevel="2"/>

    <item
        android:drawable="@drawable/guofucheng"
        android:maxLevel="3"/>

    <item
        android:drawable="@drawable/sunyaowei"
        android:maxLevel="4"/>
    <item
        android:drawable="@drawable/linzhiying"
        android:maxLevel="5"/>

</level-list>

java的代码实现

package cn.edu.niit.tupian;

        import android.os.Process;
        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 android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    private TextView gundong;
    private ImageView tupian;
    private RadioGroup diyizu;
    private RadioButton pai1;
    private RadioButton pai2;
    private RadioButton pai3;
    private RadioGroup dierzu;
    private RadioButton pai4;
    private RadioButton pai5;
    private RadioButton pai6;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tupian=(ImageView)findViewById(R.id.imageView);
        diyizu=(RadioGroup)findViewById(R.id.第1组);
        pai1=(RadioButton)findViewById(R.id.zhangxueyou);
        pai2=(RadioButton)findViewById(R.id.liudehua);
        pai3=(RadioButton)findViewById(R.id.liming);
        dierzu=(RadioGroup)findViewById(R.id.第2组);
        pai4=(RadioButton)findViewById(R.id.guofuc);
        pai5=(RadioButton)findViewById(R.id.sunyaowei);
        pai6=(RadioButton)findViewById(R.id.linzhiying);
//给对应的android在java里加个id


        pai1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (pai1.isChecked()) {
                    tupian.setImageResource(R.drawable.zhangxueyou);
                    diyizu.clearCheck();
                }
            }
        });
        pai2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (pai2.isChecked()) {
                    tupian.setImageResource(R.drawable.liudehua);
                    diyizu.clearCheck();
                }
            }
        });
        pai3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (pai3.isChecked()) {
                    tupian.setImageResource(R.drawable.liming);
                    diyizu.clearCheck();

                }
            }
        });
//第一组每个RadioButton都上一个diyizu.clearCheck()语句用来实现消除单选按钮
        pai4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (pai4.isChecked()) {
                    tupian.setImageResource(R.drawable.guofucheng);
                    dierzu.clearCheck();
                }
            }
        });
        pai5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (pai5.isChecked()) {
                    tupian.setImageResource(R.drawable.sunyaowei);
                    dierzu.clearCheck();
                }
            }
        });
        pai6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (pai6.isChecked()) {
                    tupian.setImageResource(R.drawable.linzhiying);
                    dierzu.clearCheck();
                }
            }
        });
//第二组每个RadioButton都上一个dierzu.clearCheck()语句用来实现消除单选按钮





    }
}

完成之后实现了后的图片展示



posted @ 2017-03-20 21:37  孙耀威  阅读(350)  评论(2编辑  收藏  举报