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();
}
}
}