XML'de dikdörtgen çizebilir miyim merak ediyorum. DrawRect yöntemini programlı olarak kullanarak nasıl çizeceğimi biliyorum.
XML'de dikdörtgen çizebilir miyim merak ediyorum. DrawRect yöntemini programlı olarak kullanarak nasıl çizeceğimi biliyorum.
Yanıtlar:
Evet yapabilirsin ve işte daha önce yaptığım şey:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listview_background_shape">
<stroke android:width="2dp" android:color="#ff207d94" />
<padding android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp" />
<corners android:radius="5dp" />
<solid android:color="#ffffffff" />
</shape>
Çekilebilir klasörün içinde yeni bir XML dosyası oluşturabilir ve yukarıdaki kodu ekleyebilir, ardından bunu rectangle.xml olarak kaydedebilirsiniz.
Bir düzen içinde kullanmak için, android:background
niteliği yeni çekilebilir şekle ayarlarsınız . Tanımladığımız şeklin herhangi bir boyutu yoktur ve bu nedenle mizanpajda tanımlanan Görünümün boyutlarını alacaktır.
Yani hepsini bir araya getirirsek:
<View
android:id="@+id/myRectangleView"
android:layout_width="200dp"
android:layout_height="50dp"
android:background="@drawable/rectangle"/>
En sonunda; Bu dikdörtgeni herhangi bir Görünümün arka planı olacak şekilde ayarlayabilirsiniz, ancak Görüntü Görünümleri için kullanabilirsiniz android:src
. Bu, dikdörtgeni ListViews, TextViews ... vb. İçin arka plan olarak kullanabileceğiniz anlamına gelir.
rectangle.xml
Shape Drawable kullanarak oluşturun Bunun gibi Çekilebilir Klasörünüze koyun ...
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
<corners android:radius="12px"/>
<stroke android:width="2dip" android:color="#000000"/>
</shape>
içine koy ImageView
<ImageView
android:id="@+id/rectimage"
android:layout_height="150dp"
android:layout_width="150dp"
android:src="@drawable/rectangle">
</ImageView>
Umarım bu sana yardımcı olur.
bunu dene
<TableRow
android:layout_width="match_parent"
android:layout_marginTop="5dp"
android:layout_height="wrap_content">
<View
android:layout_width="15dp"
android:layout_height="15dp"
android:background="#3fe1fa" />
<TextView
android:textSize="12dp"
android:paddingLeft="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="1700 Market Street"
android:id="@+id/textView8" />
</TableRow>
çıktı
Bu kodu kullanın
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:radius="0.1dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
<solid android:color="#Efffff" />
<stroke
android:width="2dp"
android:color="#25aaff" />
</shape>
çekilebilir olarak kaynak dosyası oluştur
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#3b5998" />
<cornersandroid:radius="15dp"/>