Пытаюсь сделать круглую пуговицу, но не знаю, как это сделать. Я могу сделать пуговицу с закругленными углами, но как я могу скруглить круг. Это не тоже самое. Подскажите, пожалуйста, на Андроиде это возможно? Спасибо.
@Neil, вам не нужно добавлять суффикс xml, я сделал это с целью демонстрации и ясного понимания концепции, чтобы читатель не ошибся в примере, автопомощь eclipse должна помочь вам определить, нужен ли .xml или нет, у меня есть привычка использовать ctrl + space на моем компьютере с Windows для автоматического выполнения команд xml.
Ариф Надим,
2
Вам не нужен символ '@' перед словом drawable?
прокладка
Дает ли это решение другой результат, чем просто использование круглого изображения в качестве фона?
Сиаваш 05
7
Кроме того, почему бы не использовать android: shape = "oval"
Сиаваш
40
Если вы используете Android Studio, вы можете просто использовать:
это должен быть принятый ответ, использование значений углов не выходит за рамки закругленных углов, и этот вопрос касается круга. Спасибо, Шон, за этот ответ
Дон
14
Использование ringничего не показывает. Лучше использовать oval.
<cornersandroid:bottomRightRadius="180dip"android:bottomLeftRadius="180dip"android:topRightRadius="180dip"android:topLeftRadius="180dip"/><solidandroid:color="#6E6E6E"/><!-- this one is ths color of the Rounded Button -->
Установите это на своих ресурсах с возможностью рисования XML, а также простое использование и кнопку изображения с круглым изображением, используя его в качестве фона.
Если вам нужна круглая кнопка в стиле FAB и вы используете официальную библиотеку компонентов материала, вы можете легко сделать это следующим образом:
Ответы:
Создайте файл xml с именем
roundedbutton.xml
в папке с возможностью переноса<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#eeffffff" /> <corners android:bottomRightRadius="8dp" android:bottomLeftRadius="8dp" android:topRightRadius="8dp" android:topLeftRadius="8dp"/> </shape>
Наконец, установите это в качестве фона для вашего
Button
asandroid:background = "@drawable/roundedbutton"
Если вы хотите сделать его полностью закругленным, измените радиус и выберите то, что вам подходит.
источник
Если вы используете Android Studio, вы можете просто использовать:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="ring"> <solid android:color="#FFFFFF"/> </shape>
это отлично работает для меня, надеюсь, это кому-то поможет.
источник
ring
ничего не показывает. Лучше использоватьoval
.Создайте файл drawable / button_states.xml, содержащий:
<?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="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> </item> <item android:state_pressed="true"> <shape android:shape="rectangle"> <corners android:radius="1000dp" /> <solid android:color="#3AA76D" /> <stroke android:width="2dip" android:color="#03ae3c" /> <padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" /> </shape> </item> </selector>
Используйте его в теге кнопки в любом файле макета
<Button android:layout_width="220dp" android:layout_height="220dp" android:background="@drawable/button_states" android:text="@string/btn_scan_qr" android:id="@+id/btn_scan_qr" android:textSize="15dp" />
источник
Круглая кнопка Android Маркуши:
(Эта библиотека устарела, и новых разработок не ведется. Рассмотрите возможность использования вместо нее FAB.)
источник
<corners android:bottomRightRadius="180dip" android:bottomLeftRadius="180dip" android:topRightRadius="180dip" android:topLeftRadius="180dip"/> <solid android:color="#6E6E6E"/> <!-- this one is ths color of the Rounded Button -->
и добавьте это в код кнопки
android:layout_width="50dp" android:layout_height="50dp"
источник
Использовал форму овала. Это делает кнопку овальной
<item> <shape android:shape="oval" > <stroke android:height="1.0dip" android:width="1.0dip" android:color="#ffee82ee" /> <solid android:color="#ffee82ee" /> <corners android:bottomLeftRadius="12.0dip" android:bottomRightRadius="12.0dip" android:radius="12.0dip" android:topLeftRadius="12.0dip" android:topRightRadius="12.0dip" /> </shape> </item>
источник
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#ffffff" /> </shape>
Установите это на своих ресурсах с возможностью рисования XML, а также простое использование и кнопку изображения с круглым изображением, используя его в качестве фона.
источник
Если вам нужна круглая кнопка в стиле FAB и вы используете официальную библиотеку компонентов материала, вы можете легко сделать это следующим образом:
<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
.источник
Круглая кнопка в Android
Вы можете сделать
ImageButton
круглое фоновое изображение.источник
используйте ImageButton вместо Button ....
и сделать круглое изображение с прозрачным фоном
источник
Для круглой кнопки создайте форму:
<?xml version="1.0" encoding="utf-8"?>
<stroke android:width="8dp" android:color="#FFFFFF" /> <solid android:color="#ffee82ee" /> <corners android:bottomLeftRadius="45dp" android:bottomRightRadius="45dp" android:topLeftRadius="45dp" android:topRightRadius="45dp" />
используйте его как фон для ссылки на вашу кнопку
источник
Да, возможно, поищите в гугле 9-патч. Хорошие статьи:
http://radleymarx.com/blog/simple-guide-to-9-patch/
http://ogrelab.ikratko.com/custom-color-buttons-for-android/
источник
это
android.R.drawable.expander_ic_minimized
посмотрите на встроенные чертежи Android:
http://androiddrawableexplorer.appspot.com/
источник
Вы можете использовать Google FloatingActionButton
XMl:
<android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/ic_dialog_email" />
Ява:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FloatingActionButton bold = (FloatingActionButton) findViewById(R.id.fab); bold.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // Do Stuff } }); }
Gradle:
compile 'com.android.support:design:23.4.0'
источник
" https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html#foreground.type=image&foreground.space.trim=0&foreground.space.pad=0.25&foreColor=rgba(94%2C%20126%2C%20142% 2C% 200) & backColor = rgb (96% 2C% 20125% 2C% 20139) & crop = 1 & backgroundShape = circle & effects = none & name = ic_home "
и загрузите его, извлеките его внутри этой папки mipmap-hdpi.
скопируйте изображение из папки mipmap-hdpi и вставьте его в папку drwable вашего проекта Android.
Теперь установите фон как это изображение.
источник
Вы можете использовать
MaterialButton
:<com.google.android.material.button.MaterialButton android:layout_width="48dp" android:layout_height="48dp" android:insetTop="0dp" android:insetBottom="0dp" android:text="A" app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.Rounded" />
и примените циркуляр
ShapeAppearanceOverlay
с:<style name="ShapeAppearanceOverlay.App.rounded" parent=""> <item name="cornerSize">50%</item> </style>
источник