2017-09-06 52 views
0

我有定向的左侧的箭头的ImageButton image为什么镜像在ImageButton Xamarin.Android中镜像?

<ImageButton 
     android:src="@drawable/icon_arrow_left" 
     android:layout_width="17sp" 
     android:layout_height="10sp" 
     android:id="@+id/imageButton1" 
     android:layout_gravity="center_vertical" 
     android:layout_marginRight="20sp" 
     android:layout_marginLeft="5sp" 
     android:scaleType="centerInside" /> 

为什么图像镜像/旋转和被示为应用程序中的 right arrow

+0

假设你100%确定上面粘贴的图像是icon_arrow_left,那么问题应该是图像报告的方向(Exif),而不是与Android相关。我从来没有见过这样的东西......但你可能需要用Exif信息浏览器来查看图像。 –

+0

上面粘贴的图片是100%icon_arrow_left。在应用程序中的多个位置使用相同的图像,但这是唯一以这种方式显示的位置。这对我来说很奇怪,因为我没有做任何不同的事情。 –

回答

0

图像镜像/旋转,并显示为右箭头在应用

我没有找到的原因,但我觉得有几种解决方案可以解决这个问题。

  1. 溶液1

使用android:background属性,而不是android:src属性:

<ImageButton 
    android:background="@drawable/icon_arrow_left" 
    ...... 
    /> 
  • 溶液2
  • 给您ImageButton更大的尺寸和白色的背景颜色,将正常显示,这是我的代码:

    <ImageButton 
        android:src="@drawable/icon_arrow_left" 
        android:layout_width="51sp" 
        android:layout_height="30sp" 
        android:layout_gravity="center_vertical" 
        android:layout_marginRight="20sp" 
        android:layout_marginLeft="5sp" 
        android:scaleType="centerInside" 
        android:background="#ffffff"/> 
    
  • 溶液3
  • 使用android:scaleType="center"属性,然后给你ImageButton更大layout_width调整其位置,这样的代码:

    <ImageButton 
        android:src="@drawable/icon_arrow_left" 
        android:layout_width="30sp" 
        android:layout_height="10sp" 
        android:layout_gravity="center_vertical" 
        android:layout_marginRight="20sp" 
        android:layout_marginLeft="5sp" 
        android:scaleType="center" 
        /> 
    

    他们的effect

    +0

    解决方案1是唯一适用于我的解决方案。我不能给我的按钮一个白色的背景颜色(解决方案2),因为它后面有一个渐变背景。我通过使用其他箭头图像解决了问题,I.m没有寻找解决方案,而是作了解释。 –

    +0

    @Madalin Sisu,一旦我找到原因,我会回来并更新我的答案。 –