Я хочу изменить цвет рамки кнопки кнопки. граница белого цвета, внутренний цвет черный или прозрачныйКак изменить библиотеку поддержки дизайна Android?
Я хотел бы мою кнопку, чтобы выглядеть следующим образом:
Я хочу изменить цвет рамки кнопки кнопки. граница белого цвета, внутренний цвет черный или прозрачныйКак изменить библиотеку поддержки дизайна Android?
Я хотел бы мою кнопку, чтобы выглядеть следующим образом:
fab.xml в drawable
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="2"
android:useLevel="false" >
<solid android:color="@android:color/transparent" />
<stroke
android:width="3dp"
android:color="@android:color/white" />
</shape>
плавающей кнопки действий в layout
<android.support.design.widget.FloatingActionButton
android:id="@+id/buttton_float"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_action_social_notifications"
android:background="@drawable/fab"
android:layout_margin="@dimen/fab_margin"
android:layout_gravity="bottom|right"
app:fabSize="normal"
app:backgroundTint="@android:color/white"
app:rippleColor="@android:color/black"
app:borderWidth="0dp"
app:elevation="2dp"
app:pressedTranslationZ="12dp"/>
Примечание: Обычай дизайн для FAB против руководящих принципов Google Материалов для Floating Action Button
Во-первых, спасибо за ответ! Но я хочу добиться точно такого же рендеринга с черной сумкой вместо прозрачной. Я просто изменил «прозрачный» на «черный», и он заполнил мой FAB белым. Кто-нибудь знает, почему это работает с прозрачным цветом, но не с черным цветом? – MHogge
try 'app: backgroundTint =" @ android: color/black "' in' android.support.design.widget.FloatingActionButton' –
Я попытался установить backgroundTint на черный с сплошным цветом на прозрачный. Я получил черные границы с прозрачный фон, и когда я оставляю backgroundTint до черного и устанавливаю сплошной цвет на черный, вся моя кнопка становится черной.Тогда, если я устанавливаю backgroundTint на белый, а сплошной цвет - на черный, вся моя кнопка становится белой. это непонятно. :/ – MHogge
Сначала создайте ресурс формы .xml давайте назовем это ring.xml и поместите в него:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadiusRatio="1"
android:shape="ring"
android:thicknessRatio="1"
android:useLevel="false">
<solid android:color="#FFF"/>
<stroke
android:width="5dp"
android:color="#000"/>
</shape>
</item>
<item>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_cast_light"/>
</item>
</layer-list>
Вам придется играть с толщиной и innerRadius атрибутов, чтобы получить это право, но это должно сделать это! Также источник растрового изображения - только наполнитель, вы хотите поместить свое изображение F.
Тогда где вы объявить ФАБ ссылочного ваше кольцо, как, например:
android:background="@drawable/ring"
В коде Java, выполните следующие действия:
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setBackgroundResource(R.drawable.ring);
Надеется, что это помогает!
Как я знаю, fab button ** андроид: фон ** не работает, ** android: backgroundTint ** - это просто цвет фона. правильно? –
И этот код не работает T-T. Спасибо за Ваш интерес. –
Если вы хотите установить границу кнопки «Поплавок», вы просто делаете это. Сначала нужно создать один XML-файл
fab_background.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="2"
android:useLevel="false" >
<!--Here if you want to set transparent can set-->
<solid android:color="@color/white" />
<!--Here you can set your fab button border color-->
<stroke
android:width="3dp"
android:color="@color/white" />
</shape>
Затем после использования, как это в вашем файле макета XML.
main_activity.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/rl_content_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:padding="5dp"
android:background="@drawable/fab_background">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab_map"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:elevation="0dp"
android:src="@android:drawable/ic_media_play"
app:fabSize="normal"
app:elevation="0dp"/>
</LinearLayout>
</RelativeLayout>
Ваш код работает нормально, но время предварительного просмотра его не будет отображаться в центре, оно имеет пространство справа. –
, пожалуйста, покажите мне свой код. – Shailesh
Я исправил это самостоятельно, спасибо за этот ответ. –
Вы можете использовать 'VectorDrawable'. –