2016-11-07 211 views
0

我面臨着爲我的應用程序設置背景圖像的問題。我有兩個圖像的線性佈局。其中一個帶有徽標和重量1,另一個帶有重量爲3的背景圖像。我希望第二個始終處於水平居中的位置,並且其側邊在垂直方向上裁剪,而底部在水平方向上裁剪。 CENTER_CROP幾乎可以完成這項工作,但我想要繪製我的圖像的頂部。我不關心底部。Imageview保持寬高比,填充寬度和高度

在此配置中,垂直方向是完美的,但水平方向會切割圖像的頂部,我希望頂部始終可見。底部可以裁剪

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:layout_margin="50dp" 
     android:layout_gravity="center_horizontal" 
     android:src="@drawable/masters_logo" 
     android:id="@+id/imageView" /> 

    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="3" 
     android:scaleType="centerCrop" 
     android:src="@drawable/masters_login_background"/> 

</LinearLayout> 

這就是我想要實現的。

垂直方向: vertical

水平方向: horizontal

回答

0

如果你想設置背景到你的登錄屏幕,你應該添加android:background="@drawable/masters_login_background"屬性到根LinearLayout。 否則,你應該使用,例如,作爲RelativeLayout根元素,這你ImageView裏面添加爲頂層元素,水木清華這樣的:

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:src="@drawable/masters_login_background"/> 

     <!-- other code here --> 

</RelativeLayout> 
0

我不得不爲我錯誤地理解你的問題編輯答。請使用下面的代碼。這將把bg img放在bg img上方的背景和logo上。

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

<ImageView 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="3" 
      android:scaleType="centerCrop" 
      android:src="@drawable/masters_login_background"/> 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:layout_margin="50dp" 
      android:layout_gravity="center_horizontal" 
      android:src="@drawable/masters_logo" 
      android:id="@+id/imageView" /> 



    </LinearLayout> 
相關問題