Özel düğme oluşturmak istiyorum ve bunun daire olması gerekiyor. Nasıl bir daire düğmesi oluşturabilirim? Bunun draw9patch ile mümkün olduğunu düşünmüyorum.
Ayrıca nasıl özel düğme yapmak bilmiyorum!
Hiç önerin var mı?
Özel düğme oluşturmak istiyorum ve bunun daire olması gerekiyor. Nasıl bir daire düğmesi oluşturabilirim? Bunun draw9patch ile mümkün olduğunu düşünmüyorum.
Ayrıca nasıl özel düğme yapmak bilmiyorum!
Hiç önerin var mı?
Yanıtlar:
Bunun gibi xml çizilebilir kullanın:
Aşağıdaki içerikleri klasöre olduğu round_button.xmlgibi drawablekaydedin
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<shape android:shape="oval">
<solid android:color="#fa09ad"/>
</shape>
</item>
<item android:state_pressed="true">
<shape android:shape="oval">
<solid android:color="#c20586"/>
</shape>
</item>
</selector>
Android Material Effect: Her ne kadar FloatingActionButtondaha iyi bir seçenek olsa da, xml seçiciyi kullanarak yapmak istiyorsanız, drawable-v21içinde bir klasör oluşturun resve başka bir round_button.xmlxml ile buraya kaydedin
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#c20586">
<item>
<shape android:shape="oval">
<solid android:color="#fa09ad"/>
</shape>
</item>
</ripple>
Ve Buttonböyle xml'de arka plan olarak ayarlayın :
<Button
android:layout_width="50dp"
android:layout_height="50dp"
android:background="@drawable/round_button"
android:gravity="center_vertical|center_horizontal"
android:text="hello"
android:textColor="#fff" />
Önemli:
Markushi inanılmaz efektlerle bir daire düğmesi widget'ı yazdı. Click burada !

Özel android düğmesi için AngryTool
Bu araç sitesi ile her türlü özel android düğmesini yapabilirsiniz ... ben bu araç ile yuvarlak köşe ile daire ve kare düğme yapmak .. Ziyaret edin size yardımcı olacaktır
Resmi Malzeme Bileşenleri kütüphanesi ile MaterialButtonbir Widget.MaterialComponents.Button.Iconstil uygulayabilirsiniz .
Gibi bir şey:
<com.google.android.material.button.MaterialButton
android:layout_width="48dp"
android:layout_height="48dp"
style="@style/Widget.MaterialComponents.Button.Icon"
app:icon="@drawable/ic_add"
app:iconSize="24dp"
app:iconPadding="0dp"
android:insetLeft="0dp"
android:insetTop="0dp"
android:insetRight="0dp"
android:insetBottom="0dp"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.MyApp.Button.Rounded"
/>
Şu anda app:iconPadding="0dp", android:insetLeft, android:insetTop, android:insetRight, android:insetBottomnitelikleri ilave dolgu alanı kaçınarak butonuna simgeyi ortalamak için gereklidir.
app:shapeAppearanceOverlayKöşeleri yuvarlatılmış hale getirmek için özelliği kullanın . Bu durumda bir daireniz olacak.
<style name="ShapeAppearanceOverlay.MyApp.Button.Rounded" parent="">
<item name="cornerFamily">rounded</item>
<item name="cornerSize">50%</item>
</style>
Nihai sonuç:
app:iconPadding="0dp"Simgenin ortalandığından emin olmanın gerekliliğini vurgulamaya değer . Bunu bulana kadar bir sürü zaman merkezi denedim. Görünüşe göre bu uygulama: iconGravity'de bir "merkez" değeri eksik.
VectorDrawable ve ConstraintLayout'u kullanmak istiyorsanız
<FrameLayout
android:id="@+id/ok_button"
android:layout_width="100dp"
android:layout_height="100dp"
android:foreground="?attr/selectableItemBackgroundBorderless"
android:background="@drawable/circle_button">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/icon_of_button"
android:layout_width="32dp"
android:layout_height="32dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:srcCompat="@drawable/ic_thumbs_up"/>
<TextView
android:id="@+id/text_of_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/icon_of_button"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginTop="5dp"
android:textColor="@android:color/white"
android:text="ok"
/>
</android.support.constraint.ConstraintLayout>
</FrameLayout>
daire arka planı: circle_button.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="1000dp" />
<solid android:color="#41ba7a" />
<stroke
android:width="2dip"
android:color="#03ae3c" />
<padding
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp" />
</shape>
Bir FAB görünümlü düğme için bu stil MaterialButton:
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
app:cornerRadius="28dp"
android:layout_width="56dp"
android:layout_height="56dp"
android:text="1" />
Sonuç:
Boyutu değiştirirseniz düğme boyutunun yarısını olarak kullanmaya dikkat edin app:cornerRadius.