2

アクティビティのメイン レイアウト xml に、次のようなグリッド レイアウトがあります。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:id="@+id/parentLayout"
    android:layout_gravity="right">

    <GridView 
        android:id="@+id/gridview"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:background="#AAAAAA"
        android:columnWidth="90dp"
        android:numColumns="3"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="10dp"
        android:stretchMode="none"
        />

</LinearLayout>

次のように膨らませて、6 つのアイコンを配置します。

<?xml version="1.0" encoding="utf-8"?>
<ImageView
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/searchIcon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:contentDescription="@string/searchIcon"/>

私が欲しいのは、グリッドレイアウトが線形レイアウトに正しく配置され、コンテンツをラップするだけであることです。別の色の背景を指定して、これをテストしています。layout_height="wrap_content" は正常に機能しますが、幅は効果がないようです。結果は次のとおりです。

期待どおりに機能しない wrap_content のスクリーンショット

何か案は?

前もってありがとう、スティーブン

4

2 に答える 2

0

android:gravity="right"GridView に挿入する

<GridView 
  ......
  .....
  android:gravity="right" />
于 2012-06-23T12:25:57.697 に答える
0

android:gravity="right"LinearLayout の代わりに LinearLayout で使用..............

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:id="@+id/parentLayout"

    android:gravity="right"> //<-----------------------
  • android:gravity は、使用されているビューのコンテンツの重力を設定します。
  • android:layout_gravity は、親のビューまたはレイアウトの重力を設定します。

お試し用

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:orientation="vertical" android:id="@+id/parentLayout"

    android:gravity="right">

    <TextView android:id="@+id/gridview" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:background="#AAAAAA"
        android:text="ewewqe" />

</LinearLayout>

これも答えではなく参照してください

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:id="@+id/parentLayout"
    android:layout_gravity="right"
    android:gravity="right" android:weightSum="1">

    <GridView
        android:id="@+id/gridview"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:background="#AAAAAA"
        android:columnWidth="90dp"
        android:numColumns="3"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="10dp"
        android:stretchMode="none"
        android:layout_weight=".5" />

</LinearLayout>
于 2012-06-23T12:25:03.603 に答える