2016-10-20 34 views
0

我有一个问题是否有可能检查条件与xml致敬或财产。 例 我有2个画面:pict1,PICT2 我要检查是否有pict1阿尔法= 0.5,则PICT2阿尔法= 1,否则扭转它条件与Java中的xml属性android

任何一个可以告诉我的解决方案。

注意:图片Alpha可以通过xml设置或者由java设置。

+0

不知道你的''意思Alpha值'条件与xml属性或属性''',但您可以使用'ImageView' [getImageAlpha](https://developer.android.com/reference/android/widget/ImageView.html#getImageAlpha())和[setImageAlpha] (https://developer.android.com/reference/android/widget/ImageView.html#setImageAlpha(int))代码 –

回答

0

不清楚自己在找什么,只要逻辑是,但也许这会有所帮助:

<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); 
    } 
} 

注意:当以编程方式设置图像alpha时,alpha是int

将被应用于此的ImageView的绘制(0和255(含)之间,其中0为透明,255不透明)

+0

另外,请注意,设置XML属性android:alpha与设置Image不是一回事Α。 'android:alpha'是视图上的一个属性,而不是图像本身。 – w3bshark