Seçenek 1: Çekilebilir Şekil
Bu, arka planı ayarlayabileceğiniz bir mizanpaj veya görünümün çevresinde bir kenarlık istiyorsanız en basit seçenektir. drawable
Klasörde şuna benzer bir XML dosyası oluşturun :
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#8fff93" />
<stroke
android:width="1px"
android:color="#000" />
</shape>
solid
Dolgu istemiyorsanız kaldırabilirsiniz . background="@drawable/your_shape_drawable"
Düzeniniz / görünümünüzdeki set .
2. Seçenek: Arka Plan Görünümü
İşte benim kullandığım küçük bir numara RelativeLayout
. Temelde, kenarlık vermek istediğiniz görünümün altında siyah bir kareniz var ve daha sonra bu görünüme biraz dolgu (kenar boşluğu değil!) Verin, böylece siyah kare kenarlarda görünür.
Açıkçası bu sadece görünümün saydam alanları yoksa düzgün çalışır. Eğer yaparsa BorderView
, sadece sınır çizen bir özel yazmanızı tavsiye ederim - sadece birkaç düzine kod satırı olmalıdır.
<View
android:id="@+id/border"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/image"
android:layout_alignLeft="@+id/image"
android:layout_alignRight="@+id/image"
android:layout_alignTop="@+id/main_image"
android:background="#000" />
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_...
android:padding="1px"
android:src="@drawable/..." />
Eğer merak ediyorsanız, bu yaptığı ile çalışmalarını adjustViewBounds=true
. Ancak, bir bütün olarak bir arka plana sahip olmak istiyorsanız işe yaramaz RelativeLayout
, çünkü bir RelativeLayout
ile doldurmanızı engelleyen bir hata vardır View
. Bu durumda Shape
çekmeceyi tavsiye ederim .
Seçenek 3: 9 yama
Son seçenek, böyle bir 9 yama çizilebilir kullanmaktır:
Ayarlayabileceğiniz herhangi bir görünümde kullanabilirsiniz android:background="@drawable/..."
. Ve evet 6x6 olması gerekiyor - 5x5 denedim ve işe yaramadı.
Bu yöntemin dezavantajı, renkleri çok kolay değiştirememenizdir, ancak süslü kenarlıklar istiyorsanız (örneğin, bu soruda olduğu gibi yalnızca üstte ve altta bir kenarlık). Shape
çekilebilir çok güçlü değil.
Seçenek 4: Ekstra görünümler
Sadece görüşünüzün üstünde ve altında sınırlar istiyorsanız bu gerçekten basit seçenekten bahsetmeyi unuttum. Görünümünüzü dikey LinearLayout
(daha önce değilse) olarak yerleştirebilir ve daha sonra View
bunun üstüne ve altına boş s ekleyebilirsiniz :
<View android:background="#000" android:layout_width="match_parent" android:layout_height="1px"/>