Условие со свойством xml в Java Android

#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 является атрибутом представления, а не самим изображением.