2016-10-20 2 views
0

Ich habe eine Frage ist es möglich, den Zustand mit Xml Tribut oder Eigenschaft zu überprüfen. Beispiel Ich habe 2 Bild: Bild1, Bild2 ich überprüfen möchten, ob Bild1 Alpha haben = 0,5 dann pict2 Alpha = 1 sonstBedingung mit XML-Eigenschaft in Java Android

Kann jemand mir sagen, die Lösung umkehren.

Hinweis: Das Bild Alpha kann per XML gesetzt oder per Java gesetzt werden.

+0

nicht sicher auf die ziehbar dieser Image angewendet werden, was Sie unter '' 'Bedingung mit XML-Attribut oder Eigenschaft''', aber Sie können' ImageView' [getImageAlpha] (https://developer.android.com/reference/android/widget/ImageView.html#getImageAlpha()) und [setImageAlpha] verwenden (https://developer.android.com/reference/android/widget/ImageView.html#setImageAlpha()) in Code –

Antwort

0

Nicht ganz sicher, was Sie suchen, so weit wie die Logik geht, aber vielleicht hilft:

<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> 

in Ihrer Tätigkeit oder Fragment des 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); 

Dann wird Ihr bedingter:

public void switchImageAlpha() { 
    if (imageOne.getImageAlpha() == halfAlpha) { 
     imageOne.setImageAlpha(opaque); 
     imageTwo.setImageAlpha(halfAlpha); 
    } else { 
     imageOne.setImageAlpha(halfAlpha); 
     imageTwo.setImageAlpha(opaque); 
    } 
} 

Hinweis: Wenn Alpha alphabetisch gesetzt wird, ist das Alpha ein int:

den Alpha-Wert, (zwischen 0 und 255 einschließlich, mit 0 transparent und 255 undurchsichtig ist)

+0

Beachten Sie auch, dass das Festlegen des XML-Attributs "android: alpha" nicht dasselbe ist wie das Festlegen von Image Alpha. 'android: alpha' ist ein Attribut in der Ansicht, nicht das Bild selbst. – w3bshark