ANDROID:如何一次只选择一个ImageView?
我将四个ANDROID:如何一次只选择一个ImageView?,android,imageview,Android,Imageview,我将四个ImageView设置为菜单。 在四个菜单项中,我一次只想选择一个 我为一个菜单项设置了2个图像,比如1个来自selected,另外3个来自Unselected 我在这里发布了代码: footer.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout
ImageView
设置为菜单。
在四个菜单项中,我一次只想选择一个
我为一个菜单项设置了2个图像,比如1个来自selected,另外3个来自Unselected
我在这里发布了代码:
footer.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="#f1eeee"
android:orientation="horizontal">
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/fHome"
android:src="@drawable/home" /> <!-- your image here -->
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/fAttendence"
android:src="@drawable/home" />
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/home"
android:src="@drawable/target" />
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/home"
android:src="@drawable/report" />
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.sachin.colorchanged.MainActivity">
<include
layout="@layout/footer"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_alignParentBottom="true"
android:id="@+id/include2" />
</RelativeLayout>
[]
[]
请帮我解决这个问题,并向我推荐一个例子。首先让您的类实现
视图。OnClickListener
如下:
public class MainActivity extends AppCompatActivity implements View.OnClickListener
然后执行界面的onClick
方法:
@Override
public void OnClick(View v)
现在,在您的OnClick
方法中,首先加载图像的所有默认图像,如:
mHomeButton.setImageResource(R.drawable.home);
mattendence.setImageResource(R.drawable.home); // and other imageViews
然后在onClick方法中定义一个开关
案例为:
switch (v.getId()){
case R.id.fHome:
mHomeButton.setImageResource(R.drawable.blue);
break;
// define same as all other views
}
最终代码为:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
ImageView mHomeButton,mattendence,mTarget,mReport;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mHomeButton = (ImageView) findViewById(R.id.fHome);
mattendence = (ImageView) findViewById(R.id.fAttendence);
mTarget= (ImageView) findViewById(R.id.fTarget);
mReport = (ImageView) findViewById(R.id.fReport);
mHomeButton.setOnClickListener(this);
mattendence.setOnClickListener(this);
mTarget.setOnClickListener(this);
mReport.setOnClickListener(this);
}
@Override
public void OnClick(View v){
mHomeButton.setImageResource(R.drawable.home);
mattendence.setImageResource(R.drawable.home);
mTarget.setImageResource(R.drawable.home);
mReport.setImageResource(R.drawable.home);
int selected = 0;
Intent intent = new Intent(this,YOURACTIVITY.class);
switch(v.getId()){
case R.id.fHome:
mHomeButton.setImageResource(R.drawable.blue);
selected = 1;
break;
case R.id.mTarget:
mTarget.setImageResource(R.drawable.blue);
selected = 2;
break;
case R.id.fAttendence:
mattendence.setImageResource(R.drawable.blue);
selected = 3;
break;
case R.id.mReport:
mReport.setImageResource(R.drawable.blue);
selected = 4;
break;
}
intent.putExtra("selected",selected);
startActivity(intent);
}
然后在其他活动中,您必须检查选择了哪个imageView:
int selected = getIntent().getIntExtra("selected",0);
switch(int){
case 1:
mHomeButton.setImageResource(R.drawable.blue);
break;
case 2 ... and so on
}
首先,让您的类实现
View.OnClickListener
as:
public class MainActivity extends AppCompatActivity implements View.OnClickListener
然后执行界面的onClick
方法:
@Override
public void OnClick(View v)
现在,在您的OnClick
方法中,首先加载图像的所有默认图像,如:
mHomeButton.setImageResource(R.drawable.home);
mattendence.setImageResource(R.drawable.home); // and other imageViews
然后在onClick方法中定义一个开关
案例为:
switch (v.getId()){
case R.id.fHome:
mHomeButton.setImageResource(R.drawable.blue);
break;
// define same as all other views
}
最终代码为:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
ImageView mHomeButton,mattendence,mTarget,mReport;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mHomeButton = (ImageView) findViewById(R.id.fHome);
mattendence = (ImageView) findViewById(R.id.fAttendence);
mTarget= (ImageView) findViewById(R.id.fTarget);
mReport = (ImageView) findViewById(R.id.fReport);
mHomeButton.setOnClickListener(this);
mattendence.setOnClickListener(this);
mTarget.setOnClickListener(this);
mReport.setOnClickListener(this);
}
@Override
public void OnClick(View v){
mHomeButton.setImageResource(R.drawable.home);
mattendence.setImageResource(R.drawable.home);
mTarget.setImageResource(R.drawable.home);
mReport.setImageResource(R.drawable.home);
int selected = 0;
Intent intent = new Intent(this,YOURACTIVITY.class);
switch(v.getId()){
case R.id.fHome:
mHomeButton.setImageResource(R.drawable.blue);
selected = 1;
break;
case R.id.mTarget:
mTarget.setImageResource(R.drawable.blue);
selected = 2;
break;
case R.id.fAttendence:
mattendence.setImageResource(R.drawable.blue);
selected = 3;
break;
case R.id.mReport:
mReport.setImageResource(R.drawable.blue);
selected = 4;
break;
}
intent.putExtra("selected",selected);
startActivity(intent);
}
然后在其他活动中,您必须检查选择了哪个imageView:
int selected = getIntent().getIntExtra("selected",0);
switch(int){
case 1:
mHomeButton.setImageResource(R.drawable.blue);
break;
case 2 ... and so on
}
你什么时候能选择其他的图片选项?@Rahul Sharma当我跳到下一个时page@RahulSharma你在ios应用程序中看到Facebook的方式与我想在我的应用程序中使用的方式完全相同,点击每个imageview,你就会移动到下一个屏幕。对吗?@Rahulharma Excatlyan您什么时候可以选择其他图像选项?@Rahul Sharma当我跳到下一个时page@RahulSharma你在ios应用程序中看到Facebook的方式与我想在我的应用程序中使用的方式完全相同,点击每个imageview,你就会移动到下一个屏幕。是吗?@RahulSharmaExcatly@Sanoop当我移动到下一个屏幕时,颜色只会保持灰色。@SachinSolanki不是回答的人。。LOL@Sanoop沃凯。。。你对此有什么想法吗???@SachinSolanki我不知道你在下一个活动中如何使用相同的布局。@M.Waqas Pervez我创建了一个xml文件作为footer.xml,在每一个活动中,当我移动到下一个屏幕时,我使用@Sanoop调用该文件,颜色仅保持灰色。@SachinSolanki不是回答的人。。LOL@Sanoop沃凯。。。你对此有什么想法吗???@SachinSolanki我不知道你在下一个活动中如何使用相同的布局。@M.Waqas Pervez我创建了一个xml文件作为footer.xml,在每个活动中我都使用