Android(huaduo)

代码:xml
综合使用TextView,ImageView,RadioButton控件实现的图片选择器如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context="com.example.huaduo.MainActivity">


<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Please choose a flower you like!"
    android:textSize="40dp"
    android:textColor="#8b0000"
    android:id="@+id/textView"
    android:singleLine="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusable="true"
    android:focusableInTouchMode="true" />
<ImageView
    android:id="@+id/img_flower"
    android:layout_gravity="center_horizontal"
    android:layout_width="350dp"
    android:layout_height="200dp"
    android:layout_weight="0.33"/>


 <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center">
    <RadioGroup
        android:id="@+id/one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="horizontal">
 <RadioButton
            android:id="@+id/rbt_taohua"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="桃花"
            android:textSize="25dp"/>
 <RadioButton
            android:id="@+id/rbt_sanyecao"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="三叶草 "
            android:textSize="25dp" />
<RadioButton
            android:id="@+id/rbt_zhizihua"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="栀子花    "
            android:textSize="25dp" />
    </RadioGroup>

</LinearLayout>
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center">
    <RadioGroup
        android:id="@+id/two"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="horizontal">
<RadioButton
            android:id="@+id/rbt_guihua"
            android:layout_width="107dp"
            android:layout_height="wrap_content"
            android:text="桂花"
            android:textSize="25dp"/>

<RadioButton
            android:id="@+id/rbt_lanhua"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="兰花"
            android:textSize="25dp" />

<RadioButton
            android:id="@+id/rbt_xunyicao"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="薰衣草"
            android:textSize="25dp" />
    </RadioGroup>

</LinearLayout>

Java代码

package com.example.huaduo;
import android.media.Image;
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;

public class MainActivity extends AppCompatActivity {
private ImageView img_flower;
private RadioGroup one;
private RadioGroup two;
private RadioButton rbt_taohua;
private RadioButton rbt_meihua;
private RadioButton rbt_zhizihua;
private RadioButton rbt_guihua;
private RadioButton rbt_lanhua;
private RadioButton rbt_chahua;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    img_flower = (ImageView) findViewById(R.id.img_flower);
    one=(RadioGroup) findViewById(R.id.one);
    two=(RadioGroup) findViewById(R.id.two);
    rbt_taohua=(RadioButton) findViewById(R.id.rbt_taohua);
    rbt_meihua=(RadioButton) findViewById(R.id.rbt_sanyecao);
    rbt_zhizihua=(RadioButton) findViewById(R.id.rbt_zhizihua);
    rbt_guihua=(RadioButton) findViewById(R.id.rbt_guihua);
    rbt_lanhua=(RadioButton) findViewById(R.id.rbt_lanhua);
    rbt_chahua=(RadioButton) findViewById(R.id.rbt_xunyicao);

    rbt_taohua.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (rbt_taohua.isChecked()){
                img_flower.setImageResource(R.drawable.taohua);
                no1();
            }

        }
    });
    rbt_meihua.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (rbt_meihua.isChecked()){
                img_flower.setImageResource(R.drawable.sanyecao);
                no1();
            }
        }
    });
    rbt_zhizihua.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (rbt_zhizihua.isChecked()){
                img_flower.setImageResource(R.drawable.zhizihua);
                no1();
            }
        }
    });
    rbt_guihua.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (rbt_guihua.isChecked()){
                img_flower.setImageResource(R.drawable.guihua);
                no2();
            }
        }
    });
    rbt_lanhua.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (rbt_lanhua.isChecked()){
                img_flower.setImageResource(R.drawable.lanhua);
                no2();
            }
        }
    });
    rbt_chahua.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (rbt_chahua.isChecked()){
                img_flower.setImageResource(R.drawable.xunyicao);
                no2();
            }
        }
    });

}
void no1(){
    rbt_taohua.setChecked(false);
    rbt_meihua.setChecked(false);
    rbt_zhizihua.setChecked(false);
}
void no2(){
    rbt_guihua.setChecked(false);
    rbt_lanhua.setChecked(false);
    rbt_chahua.setChecked(false);
}

}


**存在的问题:

1.创建两行三列的单选按钮还不熟悉
2.在选中某一花名时,按钮不能显示所选择的花的名称**

第二个作业

<ImageView
    android:id="@+id/img_flower"
    android:layout_gravity="center_horizontal"
    android:layout_width="350dp"
    android:layout_height="200dp"
    android:layout_weight="0.33"/>

java
package com.example.zuobiao;

import android.provider.Settings;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
private ImageView flower;
private long time;

@Override
protected void onCreate(Bundle savedknstanceState) {
    super.onCreate(savedknstanceState);
    setContentView(R.layout.activity_main);
    flower = (ImageView) findViewById(R.id.img_flower);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        String pos = "";
        float x = event.getX();
        float y = event.getY();
        flower.setPadding((int) x - 100, (int) y - 300, 0, 0);
        ;
        pos = "x轴坐标:" + x + "y轴坐标" + y;
        Toast.makeText(MainActivity.this, pos, Toast.LENGTH_SHORT).show();
    }
    return super.onTouchEvent(event);
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {//
        exit();
        return false;
    }
    return super.onKeyDown(keyCode, event);
}

void exit() {
    if (System.currentTimeMillis() - time > 2000) {
        Toast.makeText(MainActivity.this, pos, Toast.LENGTH_SHORT).show();
        time = Settings.System.currentTimeMillis();
    } else {
        finish();
    }
}

}

posted @ 2017-03-21 21:50  Doranmi  阅读(377)  评论(0编辑  收藏  举报