Intereting Posts

Как добавить границу вокруг линейного макета, кроме как внизу?

Как добавить границу вокруг линейного макета, кроме как внизу? LinearLayout должен иметь границу слева, сверху и справа, но не внизу.

Solutions Collecting From Web of "Как добавить границу вокруг линейного макета, кроме как внизу?"

Создайте XML-файл с именем border.xml в выпадающей папке и поместите в него следующий код.

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color="#FF0000" /> </shape> </item> <item android:left="5dp" android:right="5dp" android:top="5dp" > <shape android:shape="rectangle"> <solid android:color="#000000" /> </shape> </item> </layer-list> 

Затем добавьте фон в свой линейный макет, например:

  android:background="@drawable/border" 

РЕДАКТИРОВАТЬ :

Этот XML был протестирован с галактикой с запуском GingerBread 2.3.3 и отлично работал, как показано на рисунке ниже:

Введите описание изображения здесь

ТАКЖЕ

Испытанный с галактикой s 3, работающий на JellyBean 4.1.2, и отлично работал, как показано на рисунке ниже:

Введите описание изображения здесь

Наконец, он отлично работает со всеми API-интерфейсами

EDIT 2:

Это также можно сделать, используя штрих, чтобы сохранить фон прозрачным, сохраняя при этом границу, за исключением нижнего кода со следующим кодом.

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:left="0dp" android:right="0dp" android:top="0dp" android:bottom="-10dp"> <shape android:shape="rectangle"> <stroke android:width="10dp" android:color="#B22222" /> </shape> </item> </layer-list> 

Надеюсь эта помощь.

Сохраните этот xml и добавьте в качестве фона для линейного макета ….

 <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="4dp" android:color="#FF00FF00" /> <solid android:color="#ffffff" /> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="0dp" /> <corners android:radius="4dp" /> </shape> 

Надеюсь это поможет! 🙂

Кенни прав, просто хочу прояснить некоторые вещи.

  1. Создайте файл border.xml и поместите его в папку res/drawable/
  2. Добавить код

     <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="4dp" android:color="#FF00FF00" /> <solid android:color="#ffffff" /> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="0dp" /> <corners android:radius="4dp" /> </shape> 
  3. Установите заднюю поверхность, как android:background="@drawable/border" везде, где вы хотите границу

Моя первая не работала, потому что я помещал border.xml в неправильную папку!

Вот ссылка Github на легкую и очень легко интегрируемую библиотеку, которая позволяет вам играть с границами, как вы хотите, для любого виджета, который вы хотите, просто на основе виджета FrameLayout.

Вот быстрый пример кода, чтобы вы могли видеть, насколько это просто, но вы найдете больше информации о ссылке.

 <com.khandelwal.library.view.BorderFrameLayout android:layout_width="match_parent" android:layout_height="match_parent" app:leftBorderColor="#00F0F0" app:leftBorderWidth="10dp" app:topBorderColor="#F0F000" app:topBorderWidth="15dp" app:rightBorderColor="#F000F0" app:rightBorderWidth="20dp" app:bottomBorderColor="#000000" app:bottomBorderWidth="25dp" > </com.khandelwal.library.view.BorderFrameLayout> 

Итак, если вы не хотите, чтобы границы были внизу, удалите две строки о дне в этом пользовательском виджете, и все будет готово.

И нет, я не автор этой библиотеки, ни один из его друзей 😉