Чтобы разместить рамку вокруг ListView в приложении Android, вы можете использовать разные подходы. Вот несколько способов, которые вы можете попробовать:
-
Использование макета XML:
В файле макета XML, где определен ListView, вы можете обернуть ListView внутри родительского контейнера макета (например, LinearLayout, RelativeLayout) и установить фон и отступы. для создания эффекта границы. Например:<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/listview_border" android:padding="4dp"> <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>В этом примере вам потребуется создать рисуемый файл ресурсов с именем
listview_border.xmlвнутри папкиres/drawableс нужными свойствами границы. -
Использование изображения NinePatch:
Вы можете создать изображение NinePatch, которое представляет собой растягиваемое растровое изображение с рамкой, и установить его в качестве фона ListView. Изображения NinePatch позволяют вам определить, какие области изображения можно растянуть, сохраняя границы. Вы можете использовать классandroid.graphics.drawable.NinePatchDrawable, чтобы создать объект рисования из изображения NinePatch и установить его в качестве фона ListView. -
Программно.
Вы также можете установить фон ListView программно, создав собственный объект рисования или используя ShapeDrawable. Вот пример установки границы программно:ListView listView = findViewById(R.id.listview); GradientDrawable border = new GradientDrawable(); border.setStroke(2, Color.BLACK); listView.setBackground(border);Этот код создает
GradientDrawableс черной рамкой в 2 пикселя и устанавливает его в качестве фона ListView.