SORU
4 NİSAN 2012, ÇARŞAMBA


GridLayout tüm çocuklar germek için nasıl (değil) Denetim eşit

Bir düğme ile 2x2 ızgara içinde olmasını istiyorum. Bu yeni GridLayout verilen kullanmaya çalışıyorum bu yüzden ICS.

İşte benim düzen XML:

 <?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@ id/favorites_grid"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00ff00"
    android:rowCount="2"
    android:columnCount="2">
  <Button
      android:text="Cell 0"
      android:layout_row="0"
      android:layout_column="0"
      android:textSize="14dip" />
  <Button
      android:text="Cell 1"
      android:layout_row="0"
      android:layout_column="1"
      android:textSize="14dip" />

  <Button
      android:text="Cell 2"
      android:layout_row="1"
      android:layout_column="0"
      android:textSize="14dip" />
  <Button
      android:text="Cell 3"
      android:layout_row="1"
      android:layout_column="1"
      android:textSize="14dip" />
</GridLayout>

Sorun benim görüşlerim eşit olarak her bir satır için streç. Bu benim GridLayout hakkı için ekstra alan bir sürü neden olur.

layout_gravity="fill_horizontal" ayar denedim ama tek için geçerlidirsonsatır görünümü. Bu Hücre 1 Hücre 0 için yeterince yer vermek için tüm yol uzanır anlamına gelir.

Bu mücadele için nasıl bir düşünce?

CEVAP
5 NİSAN 2012, PERŞEMBE


GÜNCELLEME: Ağırlık API 21 desteklenir. Daha fazla bilgi için PaulT cevabı bakın.

Bu GridLayout kullanırken sınırlamalar vardır, aşağıdaki alıntı documentation dan alınmıştır.

"GridLayout kilo ilkesi için destek sağlamaz, ağırlık olarak tanımlanır. Genel olarak, bu nedenle mümkün değildir yapılandırma önemsiz olmayan gereksiz boşluk dağıtmak için bir GridLayout tam kontrol İçin birden fazla satır veya sütunlar arasında ... oranlarda bir satır fazla boşluk dağıtım veya sütun; bir LinearLayout kullanımı ilgili hücre grubunda bileşenleri tutmak için küme."

Burada LinearLayout subviews kullanan küçük bir örnek. (Kullanılmayan alanı kaplıyor ve istenen pozisyona düğmeleri iter Uzay Manzarası kullandım.)

<GridLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:columnCount="1"
>
    <TextView
        android:text="2x2 button grid"
        android:textSize="32dip"
        android:layout_gravity="center_horizontal" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:orientation="horizontal">
        <Space
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 1" />
        <Space
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:text="Button 2" />
        <Space
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
    >
        <Space
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 3" />
        <Space
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:text="Button 4" />
        <Space
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1" />
    </LinearLayout>
</GridLayout>

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Film Riot

    Film Riot

    16 NİSAN 2006
  • ShotgunSandwichENT

    ShotgunSandw

    3 EKİM 2012
  • Vintendo Power

    Vintendo Pow

    2 Ocak 2007