2013-10-03 9 views
5

Belli bir sınırın ötesine geçmeyecek dikey bir doğrusal hizalama var. LinearLayout maksimum yüksekliğe sahip mi?

Bu

Bu, hiçbir mahsul seti ile düzenidir ImageView http://tinypic.com/r/20nm6s/5

yılında centerCrop ile düzen (bu kapalı tam genişliği ve büyük olmalı) http://tinypic.com/r/vzk7kw/5

Yani benim düşünce var ki benim düzenimde göremediğim bazı örtülü maksimum yükseklik ama nerede olduğunu göremiyorum, hatayı fark edebilir misiniz?

<?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

Gönderilen kodunuzda LinearLayout öğesini kullanmanın bir anlamı yoktur. Relative Layout'u kullanarak bunu başarabilirsiniz. – dcanh121

+0

Görüntünün gerçek piksel boyutları nedir? Resmi yükleyen ve ayarlayan kodu gönderir misiniz? –

+0

'ScrollView' için' maxHeight' sağlamak için bir çözüm buldum. Bu çözüm, herhangi bir görünüm türü için de kullanılabilir. Lütfen http://chintanrathod.com/maxheightscrollview-in-android-using-android-studio/ –

cevap

2

Düzenin "örtülü" maksimum yüksekliği, üst öğesinin yüksekliğidir. Her iki düzende de wrap_content kullandığınız için, bu, üstte kullandığınız diğer görünümler (TextView gibi) ne olursa olsun, ebeveynin etkin ekran alanı olduğu anlamına gelir. ScrollView gibi bir kaydırma kabına koymadığınız sürece, ekranın boyutunu aşmaz. Bir ImageView için varsayılan scaleTypefitCenter çünkü

Eğer kırpma kaldırdığınızda senin ImageView "tam genişliği ve büyük" görünmüyor nedenidir. Bu belirli görünüm, düzenin genişlik ile sınırlanır, böylece en boy oranını koruyarak görüntü küçülür.

+1

adresinden daha fazla bilgi edinebilirsiniz. Ayrıca, sahip olduğunuz şey için LinearLayout RelativeLayout'tur. XMLNS etiketini LinearLayout'a yerleştirin ve RelativeLayout'u kaldırın. – David

+1

Ayrıca Linear'ı kaldırabilir ve Relative'i uygun niteliklerle kullanabilirsiniz, ancak Linear daha basit olabilir. Her iki durumda da, * kesinlikle * ikisine de ihtiyacınız yok. – Geobits