zoukankan      html  css  js  c++  java
  • 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()语句用来实现消除单选按钮
    
    
    
    
    
        }
    }
    

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



  • 相关阅读:
    leetcode 190 Reverse Bits
    vs2010 单文档MFC 通过加载位图文件作为客户区背景
    leetcode 198 House Robber
    记忆化搜索(DP+DFS) URAL 1183 Brackets Sequence
    逆序数2 HDOJ 1394 Minimum Inversion Number
    矩阵连乘积 ZOJ 1276 Optimal Array Multiplication Sequence
    递推DP URAL 1586 Threeprime Numbers
    递推DP URAL 1167 Bicolored Horses
    递推DP URAL 1017 Staircases
    01背包 URAL 1073 Square Country
  • 原文地址:https://www.cnblogs.com/YUESEtaimei/p/6591737.html
Copyright © 2011-2022 走看看