2015-11-27 57 views
0

我已經創建自定義圖像,我將它設置在佈局的底部:ImageView的不完美使用Android的Nexus 6:layout_alignParentBottom =「真」

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/imageView" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:background="@drawable/btn_1"/> 
</RelativeLayout> 

它適用於較小的設備,但不與關係6及以上: 我有抽拉-MDPI,HDPI,xhdpi,xxhdpi,xxxhdpi根據圖像尺寸:

360*174 
540*261 
720*347 
1080*521 
1440*676 

它在Nexus 6和Nexus上左,右側間隙7,9,10沒有被重新 - 大小?有什麼像xxxxhdpi和xxxxxhdpi?我怎樣才能使它工作?我非常感謝任何幫助。

回答

1

1)由於圖像比手機的尺寸小,因此兩側都有空白區域。

您必須縮放圖像,使其位於底部而不顯示任何空白區域。

您可以通過設置scaleType來實現此目的,下面是一個如何使用它的示例。

2)您將寬度和高度設置爲wrap_content。這意味着它會根據實際圖像尺寸縮小ImageView尺寸。如果你想適合你的屏幕,然後設置match_parent

<ImageView 
      android:id="@+id/imageView" 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:adjustViewBounds="true" 
      android:scaleType="centerCrop" 
      android:src="@drawable/btn_1" 
     /> 

您可以設置一些高度,否則將會全屏顯示。

如果它不爲你工作,那麼你可以嘗試改變scaleType渴望值,如centercenterInsidefitCenter

+0

這是唯一的方法是什麼?或者當我在nexus上使用相同的圖像時,圖像會被拉長9,10 ??我可以看到, android:layout_width =「match_parent」正在拉伸圖像。有什麼辦法可以用wrap_content來做到嗎? – jason

+0

@jason它會伸出,但保持長寬比,如果你使用'adjustViewBounds'&'android:scaleType =「centerCrop」' - 否則你將不得不提供圖像爲每個手機的大小或儘可能最大,這是不可能的(或理想) – Sharj

相關問題