मैं कस्टम बटन बनाना चाहता हूं और मुझे इसे सर्कल बनाने की आवश्यकता है। मैं एक मंडली बटन कैसे बना सकता हूं? मुझे नहीं लगता कि ड्रॉ 9पैच के साथ संभव हो सकता है।
इसके अलावा मुझे नहीं पता कि कस्टम बटन कैसे बनाते हैं!
क्या आपके पास कोई सुझाव है?
मैं कस्टम बटन बनाना चाहता हूं और मुझे इसे सर्कल बनाने की आवश्यकता है। मैं एक मंडली बटन कैसे बना सकता हूं? मुझे नहीं लगता कि ड्रॉ 9पैच के साथ संभव हो सकता है।
इसके अलावा मुझे नहीं पता कि कस्टम बटन कैसे बनाते हैं!
क्या आपके पास कोई सुझाव है?
जवाबों:
इस तरह का उपयोग करने योग्य xml:
निम्न सामग्री को फ़ोल्डर round_button.xml
में सहेजेंdrawable
<?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>
एंड्रॉयड सामग्री प्रभाव: हालांकि FloatingActionButton
एक बेहतर विकल्प है, तो आप इसे एक्सएमएल चयनकर्ता का उपयोग करते हैं चाहते हैं, एक फ़ोल्डर बनाने drawable-v21
में res
और एक अन्य को बचाने round_button.xml
निम्नलिखित एक्सएमएल के साथ वहां
<?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>
और इसे Button
इस तरह से xml की पृष्ठभूमि के रूप में सेट करें:
<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" />
जरूरी:
कस्टम Android बटन के लिए AngryTool
आप इस टूल साइट के साथ किसी भी प्रकार के कस्टम एंड्रॉइड बटन बना सकते हैं ... मैं इस टूलसाइट के साथ गोल कोने के साथ सर्कल और स्क्वायर बटन बनाता हूं .. यह हो सकता है कि मैं आपकी मदद करूं
आधिकारिक सामग्री अवयव पुस्तकालय के साथ आप MaterialButton
आवेदन Widget.MaterialComponents.Button.Icon
शैली का उपयोग कर सकते हैं ।
कुछ इस तरह:
<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"
/>
वर्तमान में app:iconPadding="0dp"
, android:insetLeft
, android:insetTop
, android:insetRight
, android:insetBottom
गुण बटन अतिरिक्त गद्दी अंतरिक्ष से परहेज पर आइकन केंद्र के लिए आवश्यक हैं।
app:shapeAppearanceOverlay
गोल कोनों को प्राप्त करने के लिए विशेषता का उपयोग करें । इस मामले में आपके पास एक चक्र होगा।
<style name="ShapeAppearanceOverlay.MyApp.Button.Rounded" parent="">
<item name="cornerFamily">rounded</item>
<item name="cornerSize">50%</item>
</style>
अंतिम परिणाम:
app:iconPadding="0dp"
आइकन केंद्रित करने की आवश्यकता पर प्रकाश डालते हुए वर्थ । जब तक मुझे यह नहीं मिला, मैंने समय की कोशिश करने वाले केंद्र को जला दिया। ऐसा लगता है कि यह एक ऐसा ऐप है: आइकनगैविटी "केंद्र" मान को याद नहीं कर रही है।
अगर आप वेक्टरड्राएबल और कांस्ट्रेन्डलैट का उपयोग करना चाहते हैं
<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>
मंडली पृष्ठभूमि: 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>
एक FAB की तलाश में इस शैली पर बटन 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" />
परिणाम:
यदि आप आकार बदलते हैं तो बटन आकार के आधे हिस्से का उपयोग करने में सावधान रहें app:cornerRadius
।