Я хотел бы разместить рамку вокруг моего списка, имеющую ширину в несколько пикселей. Я хочу, чтобы он обошел весь кусок списка. Как я могу это сделать? спасибо
Как вы помещаете границу вокруг ListView?
Ответ 1
Для этого сначала возьмите LinearLayout и назначьте этот линейный макет каким-то цветом и возьмите представление списка в этом линейном макете. Задайте свойство android:layout_margin="10dp"
для просмотра списка. Это означает, что на всех 4 сторонах останется 10dp-пространство. Это показано как граница вида списка.
Ответ 2
Другой способ сделать это - создать пограничный ресурс, который затем может быть повторно использован, а также означает, что вам не нужно создавать дополнительный макет для его реализации.
-
создать ресурс с ресурсом
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <!-- use this for transparent --> <!-- <solid android:color="#00000000" /> --> <!-- use this for a background colour --> <solid android:color="#FFF" /> <stroke android:width="2dip" android:color="#FF0000" /> </shape>
-
затем установите его как фон списка
<ListView android:id="@id/android:list" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/border_ui" />
Ответ 3
Простейший способ:
<ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="0dp" android:divider="#FFCC00" android:dividerHeight="2dp" android:layout_weight="1" />
Ответ 4
Существует гораздо более простой способ создания границ и других графических деталей на представлениях.
Вы должны использовать 9 патчей. Они позволяют вам создавать любой фон, который вам нравится, включая границы. Ссылка объясняет все. Чтобы проверить здесь, это изображение ограниченного списка.
Здесь - изображение 9 патча, которое я использовал для создания этой границы.
Ответ 5
Хотя это давно вопрос опубликован, но надеюсь, что это может помочь новичку !!!
Создайте back.xml в папке drawable вашего проекта !!!
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<!-- use this for transparent -->
<!-- <solid android:color="#00000000" /> -->
<!-- use this for a background colour -->
<solid android:color="#FFF" />
<stroke android:width="4dip" android:color="#FFCC00" />
</shape>
Теперь установите тот же макет списка, что и в качестве фона.
<?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:background="@color/colorWhite"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Header"
android:textSize="40dp" />
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
**android:background="@drawable/back"** />
</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:background="@color/colorWhite"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Header"
android:textSize="40dp" />
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:background="@drawable/back"
android:divider="#FFCC00"
android:dividerHeight="2dp"/>
</LinearLayout>
и пользовательский интерфейс появится как показано ниже:
Ответ 6
вы также можете сделать границу как
<ListView
android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp"
android:background="@drawable/border_ui" />