11

GridViewの境界線を設定する方法。
ListViewのDividerやDividerHeightなど。
または、境界線を表示する方法。

4

4 に答える 4

42

GridViewの境界線の例を次に示します。

GridViewボーダー

XMLのどこで赤と青の境界線を定義したかがわかります。

これは私のmain.xmlレイアウトです:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/red" >

    <GridView
        android:id="@+id/gridview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_margin="10dp"
        android:background="@color/blue"
        android:columnWidth="90dp"
        android:gravity="center"
        android:horizontalSpacing="10dp"
        android:numColumns="auto_fit"
        android:stretchMode="columnWidth"
        android:verticalSpacing="10dp"
         />

</RelativeLayout>

赤の境界線の太さはGridViewのlayout_margin属性で制御され、青の境界線はとで制御されhorizontalSpacingますverticalSpacing

黒いセルの背景を作成するために、このレイアウトを使用してlist_item.xmlとして保存しました。

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/black"
    android:gravity="center_vertical"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:paddingLeft="6dip"
    android:textAppearance="?android:attr/textAppearanceLarge" />

私の活動:

public class Example extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        String[] array = new String[] {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"};
        List<String> list = new ArrayList<String>(Arrays.asList(array));
        GridView grid = (GridView) findViewById(R.id.gridview);
        grid.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, list));
    }
}
于 2012-08-21T02:36:02.243 に答える
12

以下のxmlファイルをグリッドアイテムxmlファイルの背景として使用します。

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@android:color/transparent" />
    <corners
        android:bottomRightRadius="12dp"
        android:bottomLeftRadius="12dp"
        android:topLeftRadius="12dp"
        android:topRightRadius="12dp" />
    <stroke
        android:color="@android:color/white"
        android:width="1dp" />
</shape>
于 2014-09-27T06:39:09.040 に答える
5

res/drawableフォルダーにgrid_row_border.xmlを作成します。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@android:color/transparent" />
    <corners
        android:bottomRightRadius="5dp"
        android:bottomLeftRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />
    <stroke
        android:color="@color/material_grey_600"
        android:width="1dp" />
</shape>

次に、これをグリッドレイアウトxmlで以下のように使用します

android:background="@drawable/grid_row_border"

見栄えを良くするために、パディング[android:padding ="5dp"]とマージン[android:layout_margin="5dp"]を提供します。

于 2017-03-10T11:45:00.593 に答える
0

画像行xmlのギャラリー画像の周りにこれらのビューを追加します。

<View
    android:layout_width="@dimen/listGalleryItemWidthLarge"
    android:layout_height="2dip"
    android:layout_above="@+id/gallery_row_iv"
    android:layout_centerHorizontal="true"
    android:background="#FFFFFF" />

<View
    android:layout_width="@dimen/listGalleryItemWidthLarge"
    android:layout_height="2dip"
    android:layout_below="@+id/gallery_row_iv"
    android:layout_centerHorizontal="true"
    android:background="#FFFFFF" />

<View
    android:layout_width="2dip"
    android:layout_height="@dimen/listGalleryItemHeightLarge"
    android:layout_centerVertical="true"
    android:layout_toRightOf="@+id/gallery_row_iv"
    android:background="#FFFFFF" />

<View
    android:layout_width="2dip"
    android:layout_height="@dimen/listGalleryItemHeightLarge"
    android:layout_centerVertical="true"
    android:layout_toLeftOf="@+id/gallery_row_iv"
    android:background="#FFFFFF" />
  • GridViewにカスタムレイアウトとアダプターを使用していることに注意してください
于 2013-06-10T19:56:15.400 に答える