изменить вид кнопки на круглую кнопку - PullRequest
2 голосов
/ 03 июля 2019

Я хочу сделать настоящую прямоугольную кнопку круглой формы и добавить в нее изображение кнопки «Поделиться». Я имею в виду, что кнопка должна быть круглой доли, и она должна иметь только изображение (подгонку) «доли»

<Button
        android:id="@+id/button3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="10dp"
        android:layout_marginTop="8dp"
        android:text="03"
        android:textStyle="bold"/>

Ответы [ 4 ]

1 голос
/ 03 июля 2019

Создайте нарисованный файл как bg_share.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">

<solid
    android:color="@color/colorPrimaryDark">
</solid>

<corners
    android:radius="500dp">
</corners>

<padding
    android:top="0dp"
    android:right="10dp"
    android:left="10dp"
    android:bottom="0dp">
</padding>

</shape>

И в вашем main.xml создайте просмотр изображения вместо кнопки, как

 <ImageView
       android:id="@+id/share"                         
       android:layout_width="wrap_content"                        
       android:layout_height="wrap_content"                        
       android:background="@drawable/bcshare"
       android:padding="10dp"
       android:src="@drawable/ic_share_black_24dp" />

В MainActivity.java сделайте что-то подобное

 share.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
           //Your code...
        }
    });
0 голосов
/ 03 июля 2019

Создайте xml в папке drawable и назовите его следующим образом: "round.xml" и используйте этот 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>

и для вашей кнопки в макете xml вы можете использовать последнийстрока для установки фона

<Button
        android:id="@+id/button3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="10dp"
        android:layout_marginTop="8dp"
        android:text="03"
        android:textStyle="bold"
        android:background="@drawable/round"/>
0 голосов
/ 03 июля 2019

Вы можете найти ответ Здесь

создать ресурс для рисования

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
  <stroke android:width="1dp" android:color="#FF404040" /> 
  <corners android:radius="6dp" /> 
  <gradient android:startColor="#FF6800" android:centerColor="#FF8000" android:endColor="#FF9700" android:angle="90" /> 
</shape>

затем установите фон кнопки.

android:background="@drawable/button_background"
0 голосов
/ 03 июля 2019

Вы можете создать отдельную рисованную и реализовать круглую форму.Затем установите объект рисования на фон кнопки, как показано ниже

Создайте файл для рисования в виде circle_button.xml

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

    <solid
        android:color="#008577"/>

    <size
        android:width="120dp"
        android:height="120dp"/>
</shape>

Затем измените макет следующим образом

<Button
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:background="@drawable/circle_button"
   android:text="Button"/>
...