我正在向用户显示许多图像但是,我需要根据某些条件从可绘制文件夹中获取图像。例如,如果用户将其性别设置为“男性”,则应向他显示仅供男性使用的产品图片
问问题
869 次
4 回答
1
if(condition)
{
image_view.getResources().getDrawable(R.drawable.male_img);
}
于 2013-02-04T12:33:17.560 回答
0
Java 活动
String gender ;
ImageView iv_image;
If (gender.equals("Male")
iv_image = (ImageView) findViewById(R.id.imageID);
else
iv_image= (ImageView) findviewbyID(R.id.anotherImageID);
xml
<ImageView
android:id="@+id/imageID"
android:layout_width="50dip"
android:layout_height="50dip"/>
于 2013-02-04T12:23:20.267 回答
0
我建议您将图像放在资产文件夹中并按性别命名。例如,watchwatch_male.png、watchwatch_female.jpeg 等。
然后您可以添加以下代码来检查性别并相应地显示图像:
String gender;
AssetManager assetMgr = null;
Vector<String> files = new Vector<String>();
assetMgr = this.getAssets();
String[] allFiles = assetMgr.list("");
if (gender.equalsIgnoreCase("Male"))
{
for (int i = 0; i < allFiles.length; i++) {
if (allFiles[i].contains("_male")) {
files.add(allFiles[i]);
}
}
}
if (gender.equalsIgnoreCase("Female"))
{
for (int i = 0; i < allFiles.length; i++) {
if (allFiles[i].contains("_female")) {
files.add(allFiles[i]);
}
}
}
for (int i = 0; i < files.size(); i++) {
//Set image
}
于 2013-02-04T13:18:04.927 回答
-1
将每个图像的名称设置为具有表示它是男性还是女性的前缀(或后缀)。
然后,每次尝试获取图像时,检查应用程序的设置,如果用户是男性还是女性,并根据结果获取资源。
按名称获取图像的示例:
String mDrawableName = "my_image";
String prefix=Settings.isMale()?"male_":"female_";
String newName=prefix+mDrawableName ;
int resId=getResources().getIdentifier(newName, "drawable", getPackageName());
....
于 2013-02-04T16:15:33.050 回答