SORU
8 NİSAN 2010, PERŞEMBE


LinearLayout bir ScrollView içinde genişleyen değil

Ama ScrollView tam yüksekliğe genişletmek değil 4**, ScrollView içinde LinearLayout bir ben var. Benim düzeni gibi bir şey görünüyor:

level    layout    layout_width    layout_height
1    LinearLayout    fill_parent    fill_parent
2    LinearLayout    fill_parent    wrap_content
3    (some irrelevant stuff)
2    ScrollView      fill_parent    fill_parent <-- this expands full height
3    LinearLayout    fill_parent    fill_parent <-- this does not (has orientation=vertical)
(following stuff probably are irrelevant, but just to be sure:)
4    TextView        fill_parent    fill_parent
4    LinearLayout    fill_parent    wrap_content

Görebiliyorum LinearLayout gelmez genişletin tam boy ScrollView çünkü Eclipse Android Layout Editor, eğer ben select ScrollView (Anahat paneli) vurgulanmış bir kırmızı sınır o doldurur ekranın alt ama ben select LinearLayout vurgulamak değil genişletmek için ekranın altından. Nasıl bunu yapmak için alabilir miyim?

Başarmak için çalışıyorum etkisi bir metin ve altında bir düğme (seviye 4 LinearLayout içinde sadece bir düğme var). Metin kaydırma çubuğu ihtiyacı için yeterince büyük, kullanıcı düğmeyi görmek için aşağı kaydırmak istiyorum ki olabilir. Metin kaydırma çubuğu için yeterince büyük değilse, LinearLayout düğmesini içeren ekranın altında sopa istiyorum.

İlk başta genellikle bir açma bir soru kod büyük bir kısmını görmek için, çünkü tam XML post aramamam gerektiğini düşündüm. Ancak, burada tam düzeni çok gerekli olabilir gibi görünüyor.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:id="@ id/video_layout"
        android:focusable="true"
        style="@style/VideoLayout">
        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:foreground="@android:drawable/ic_media_play"
            android:foregroundGravity="center">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@ id/video_thumb"
                android:padding="5dip"
                android:background="#454545"/>
        </FrameLayout>
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:focusable="true"
            style="@style/VideoTitle"
            android:id="@ id/video_title"
            android:layout_gravity="center"
            android:layout_weight="1"/>
    </LinearLayout>
    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1">
        <!-- this ScrollView expands the full height of the screen.
             However, the next LinearLayout does not expand the full height of the ScrollView -->
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:layout_gravity="fill"
            android:orientation="vertical"
            android:id="@ id/info_layout">
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:id="@ id/info_body"
                style="@style/InfoText"/>
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                style="@android:style/ButtonBar">
                    <Button
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_weight="1"
                        android:text="@string/button_readmore"
                        android:id="@ id/btn_read_more"/>
            </LinearLayout>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

Şu anda sorunlu android:layout_gravity="bottom" düğmeyi ekranın alt kısmında ne olursa olsun sopa yapar LinearLayout, başvurdu. Ama o da metni tam olarak istediğim şeyi değil ekranın altına sopa yapar.

Güncelleme:çizik olan, android:layout_gravity="bottom" ScrollView, iyi, kaydırma yapamaz hale getirebilirler. Başka fikri olan?

CEVAP
9 NİSAN 2010, Cuma


Çözümü buldum kendimi sonunda. Sorun ScrollView (garip görünüyor, *21.* göz önünde bulundurursak LinearLayout ile değil ama oldu ^strong>oldugenişleyen, LinearLayout süre değildi).

Çözüm ScrollView android:fillViewport="true" kullanmak olmuştur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jbignacio

    jbignacio

    13 Mart 2006
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009
  • TecNoob

    TecNoob

    15 AĞUSTOS 2013