关于图片选择器和图标定位
1,这是图片选择器
因为开始不太会如何在xml中去定义字体滚动,所以算是参考了网上的代码
<?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"
android:background="@android:color/background_light"
tools:context="com.example.kimdemon.dt.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Please choose you like !"
android:textSize="40dp"
android:textColor="@android:color/black"
android:id="@+id/yf_1"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"/>
<ImageView
android:layout_width="350dp"
android:layout_height="200dp"
android:layout_weight="0.01"
android:src="@drawable/a"
android:layout_gravity="center_horizontal"
android:id="@+id/yf_a"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:orientation="horizontal"
android:gravity="left"
android:id="@+id/yf_2">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="25dp"
android:text="爱德华的奇妙之旅"
android:gravity="left"
android:id="@+id/yf_3"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="小王子"
android:textSize="25dp"
android:textColor="@android:color/black"
android:gravity="right"
android:id="@+id/yf_4"/>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left">
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:orientation="horizontal"
android:id="@+id/yf_5">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="25dp"
android:text="哆啦A梦"
android:gravity="left"
android:id="@+id/yf_6"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="doremi"
android:textSize="25dp"
android:textColor="@android:color/black"
android:id="@+id/yf_7"/>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left">
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="left"
android:id="@+id/yf_8">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/yf_9"
android:textColor="@android:color/black"
android:textSize="25dp"
android:text="百变小樱"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/yf_10"
android:textColor="@android:color/black"
android:textSize="25dp"
android:text="千与千寻"/>
</RadioGroup>
</LinearLayout>
</LinearLayout>
这是Java部分的代码
package com.example.kimdemon.dt;
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 yf_a;
private RadioGroup yf_2;
private RadioGroup yf_8;
private RadioGroup yf_5;
private RadioButton yf_4;
private RadioButton yf_6;
private RadioButton yf_7;
private RadioButton yf_9;
private RadioButton yf_3;
private RadioButton yf_10;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
yf_a = (ImageView) findViewById(R.id.yf_a);
yf_2=(RadioGroup) findViewById(R.id.yf_2);
yf_5=(RadioGroup) findViewById(R.id.yf_5);
yf_8=(RadioGroup) findViewById(R.id.yf_8);
yf_3=(RadioButton) findViewById(R.id.yf_3);
yf_4=(RadioButton) findViewById(R.id.yf_4);
yf_6=(RadioButton) findViewById(R.id.yf_6);
yf_7=(RadioButton) findViewById(R.id.yf_7);
yf_9=(RadioButton) findViewById(R.id.yf_9);
yf_10=(RadioButton) findViewById(R.id.yf_10);
yf_3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (yf_3.isChecked()){
yf_a.setImageResource(R.drawable.a);
no1();
}
}
});
yf_4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (yf_4.isChecked()){
yf_a.setImageResource(R.drawable.b);
no1();
}
}
});
yf_6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (yf_6.isChecked()){
yf_a.setImageResource(R.drawable.c);
no2();
}
}
});
yf_7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (yf_7.isChecked()){
yf_a.setImageResource(R.drawable.d);
no2();
}
}
});
yf_9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (yf_9.isChecked()){
yf_a.setImageResource(R.drawable.e);
no3();
}
}
});
yf_10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (yf_10.isChecked()){
yf_a.setImageResource(R.drawable.f);
no3();
}
}
});
}
void no1(){
yf_3.setChecked(false);
yf_4.setChecked(false);
}
void no2(){
yf_6.setChecked(false);
yf_7.setChecked(false);
}
void no3(){
yf_9.setChecked(false);
yf_10.setChecked(false);
}
}
而运行后的效果则是这样的
2,这是图标地图
<?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:background="@android:color/background_light"
tools:context="com.example.kimdemon.dd.MainActivity">
<ImageView
android:layout_width="78dp"
android:layout_height="81dp"
android:src="@drawable/a"
android:id="@+id/yf" />
</LinearLayout>
这是Java部分的代码
package com.example.kimdemon.dd;
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 yf;
private long time;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
yf = (ImageView) findViewById(R.id.yf);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_DOWN){
String pos= "";
float x= event.getX();
float y =event.getY();
yf.setPadding((int)x-100,(int)y-300,0,0);
pos="x轴坐标"+x+"y轴坐标"+y;
Toast.makeText(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(this,"确定退出!",Toast.LENGTH_SHORT).show();
time=System.currentTimeMillis();
}else {
finish();
}
}
}
运行结果如下