#java #android #xml
#java #Android #xml
Вопрос:
У меня есть один вопрос, можно ли проверить условие с помощью xml-дани или свойства. Например, у меня есть 2 изображения: pict1, pict2 Я хочу проверить, имеет ли pict1 значение Alpha = 0,5, тогда pict2 Alpha = 1, иначе измените его
Может ли кто-нибудь подсказать мне решение.
примечание: Альфа изображения может быть задана с помощью xml или Java.
Комментарии:
1.не уверен, что вы имеете в виду под
condition with xml attribute or property
, но вы можете использоватьImageView
getImageAlpha и setImageAlpha в коде
Ответ №1:
Не совсем уверен, что вы ищете с точки зрения логики, но, возможно, это помогает:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@ id/image_one"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:src="@drawable/image_two"/>
<ImageView
android:id="@ id/image_two"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:src="@drawable/image_two"/>
</LinearLayout>
В вашей активности или фрагменте onCreate()
:
private static final int halfAlpha = 255 / 2;
private static final int opaque = 255;
ImageView imageOne = (ImageView) findViewById(R.id.image_one);
imageOne.setImageAlpha(halfAlpha);
ImageView imageTwo = (ImageView) findViewById(R.id.image_two);
imageTwo.setImageAlpha(opaque);
Тогда ваше условное:
public void switchImageAlpha() {
if (imageOne.getImageAlpha() == halfAlpha) {
imageOne.setImageAlpha(opaque);
imageTwo.setImageAlpha(halfAlpha);
} else {
imageOne.setImageAlpha(halfAlpha);
imageTwo.setImageAlpha(opaque);
}
}
Примечание: при программной настройке альфа-изображения альфа является int
:
альфа-значение, которое будет применено к объекту рисования этого ImageView (от 0 до 255 включительно, при этом 0 является прозрачным, а 255 — непрозрачным)
Комментарии:
1. Также обратите внимание, что установка атрибута XML
android:alpha
— это не то же самое, что установка альфа-изображения.android:alpha
является атрибутом представления, а не самим изображением.