2013-10-03 109 views
5

我有一個垂直線性佈局,不會超出一定的限制。LinearLayout是否具有最大高度?

這是ImageView的 http://tinypic.com/r/20nm6s/5

與centerCrop佈局這是一個沒有作物設置佈局(所以它應該是全寬和巨大) http://tinypic.com/r/vzk7kw/5

所以我的想法是,有一些隱式的最大高度,我沒有看到我的佈局,但我不明白它在哪裏,你能發現我的錯誤?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      > 
    <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:background="@drawable/dropshadow" 
      > 
     <TextView 
       android:id="@+id/heading" 
       android:layout_gravity="center" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="5dp" 
       android:layout_marginLeft="10dp" 
       android:layout_marginRight="10dp" 
       /> 
     <ImageView 
      android:id="@+id/featuredimage" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:adjustViewBounds="true" 
      android:maxHeight="1000dp" 
      android:scaleType="centerCrop" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp" 
      /> 
    </LinearLayout> 
</RelativeLayout> 
+0

在您的發佈代碼中使用LinearLayout毫無意義。您可以使用相對佈局來實現它。 – dcanh121

+0

圖像的實際像素尺寸是多少?你能發佈加載和設置圖像的代碼嗎? –

+0

我找到了一個解決方案,爲'ScrollView'提供'maxHeight'。該解決方案也可用於任何類型的視圖。請閱讀http://chintanrathod.com/maxheightscrollview-in-android-using-android-studio/ –

回答

2

佈局的「隱式」最大高度是其父項的高度。由於您在兩種佈局上都使用wrap_content,這意味着父級有效地屏幕區域減去您正在使用的任何其他視圖(例如TextView)。除非將它放在滾動容器中,例如ScrollView,否則它將永遠不會超過屏幕的大小。

ImageView沒有顯示出來「全寬和巨大的」當您刪除作物的原因是因爲一個ImageView默認scaleTypefitCenter。這個特定的視圖由佈局的寬度限制,所以它縮小圖像,同時保持寬高比。

+1

此外,LinearLayout在RelativeLayout中對於你所擁有的是浪費。將XMLNS標記放置在LinearLayout上並移除RelativeLayout。 – David

+1

您也可以刪除Linear,並使用Relative來表示適當的屬性,但Linear會更簡單。無論哪種方式,你*絕對*不需要他們兩個。 – Geobits

相關問題