0

レイアウトインフレーター付きのgridviewを使用して、テキスト付きのアイコンを表示していますが、画面の下部にボタンを用意する必要があるという違いがあります。私のレイアウトファイルは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
  <merge xmlns:android="http://schemas.android.com/apk/res/android">
 <GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/sdcard" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp" android:numColumns="3"
    android:stretchMode="columnWidth" android:gravity="center"  android:background="#ffffff"/>
 <RelativeLayout android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button android:text="submit" android:id="@+id/button"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" android:paddingTop="5dp">
    </Button>

</RelativeLayout>
 </merge>

エミュレータでテストすると(実際のデバイスに応じたサイズ)。グリッドビューは正しく表示されますが、最後の行までスクロールすると、画像は表示されますが、テキストとボタンが表示されません。テキストも表示したい。どうすればこれを達成できますか?

ここに画像の説明を入力してください

4

3 に答える 3

5

この新しいコードを試してください私はそれを更新し、またチェックしました........

<?xml version="1.0" encoding="utf-8"?>
  <merge xmlns:android="http://schemas.android.com/apk/res/android">
    <RelativeLayout android:id="@+id/rl1" android:layout_width="wrap_content" android:layout_height="wrap_content">
        <GridView xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/sdcard" android:layout_width="fill_parent"
            android:layout_height="fill_parent" android:verticalSpacing="10dp"
            android:horizontalSpacing="10dp" android:numColumns="3"
            android:stretchMode="columnWidth" android:gravity="center"  android:background="#ffffff" android:layout_above="@+id/button"/>
        <Button android:layout_width="fill_parent" android:id="@+id/button" android:paddingTop="5dp" android:layout_height="wrap_content" android:text="submit" android:layout_alignParentBottom="true"></Button>
    </RelativeLayout>
 </merge>
于 2011-06-09T10:34:28.487 に答える
1

グリッドビューと相対ビューの両方を別の RelativeView に含めてみてください

<?xml version="1.0" encoding="utf-8"?>   
<merge  xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeView xmlns:android="http://schemas.android.com/apk/res/android"            android:id="@+id/outer_container" >   <GridView          android:id="@+id/sdcard" android:layout_width="fill_parent"     android:layout_height="fill_parent" android:verticalSpacing="10dp"     android:horizontalSpacing="10dp" android:numColumns="3"     android:stretchMode="columnWidth" android:gravity="center"  android:background="#ffffff"/>  <RelativeLayout android:layout_width="match_parent"     android:layout_height="match_parent" android:layout_alignBelow="id/sdcard">  <Button android:text="submit" android:id="@+id/button"     android:layout_width="fill_parent" android:layout_height="wrap_content"             android:layout_alignParentBottom="true" android:paddingTop="5dp">         </Button>  
</RelativeLayout>
</RelativeLayout> 
</merge>

または、GridView とボタンの両方を 1 つの RelativeView に単純に配置することもできます

于 2011-06-09T10:32:28.020 に答える
0

このように ConstraintLayout を使用します

<GridView
    android:id="@+id/grid_view"
    android:padding="0dp"
    android:columnWidth="90dp"
    android:gravity="center"
    android:horizontalSpacing="10dp"
    android:numColumns="2"
    android:stretchMode="columnWidth"
    android:verticalSpacing="50dp"
    android:layout_marginBottom="1dp"
    android:layout_width="368dp"
    android:layout_height="551dp"
    tools:layout_editor_absoluteY="8dp"
    tools:layout_editor_absoluteX="8dp" />

于 2016-12-01T10:35:22.793 に答える