Как нарисовать точечный круг внутри квадрата, который можно нарисовать в Android?

Я хочу маленькую точку внутри квадратной кнопки, это то, что я пробовал до сих пор, как ответил azizbekian:

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

    <item>
        <shape android:shape="rectangle">
            <size android:width="100dp" android:height="100dp"/>
            <solid android:color="#38b0ef"/>
        </shape>
    </item>

    <item
        android:bottom="45dp"
        android:left="45dp"
        android:right="45dp"
        android:top="45dp">
        <shape android:shape="oval">
            <stroke android:width="1dp"  android:color="#0c5069"/>
            <size android:width="20dp" android:height="20dp"/>
            <solid android:color="#0c5069"/>
        </shape>
    </item>


</layer-list>

Первое изображение - это то, что я пробовал, а второе изображение - это то, что я хочу, исключая текст.

вот как это выглядит сейчас вот как я хочу исключить текст

а также этот код является кнопкой, к которой я должен применить рисование, есть семь таких кнопок в горизонтальном линейном макете с весовой суммой: 100, каждая кнопка имеет вес 14

<Button
   android:id="@+id/wed"
   android:layout_width="0dp"
   android:layout_height="35dp"
   android:layout_marginEnd="1dp"
   android:background="@drawable/my_button_dot"
   android:text="WED"
   android:textAllCaps="true"
   android:textStyle="bold"
   android:textColor="#ffffff"
   android:layout_weight="15"/>

точка не появляется в фоновом режиме, когда этот элемент рисования применяется к кнопке, возможно, из-за размера кнопки и элемента рисования я пытался настроить размер элемента рисования, но я просто не понимаю этого, и это не сработало, как может Я настраиваю его так, чтобы точка появлялась на фоне кнопки.


person Siddarth G    schedule 14.04.2017    source источник
comment
Зачем вам layer-list? Почему вам не подойдет обычная овальная форма?   -  person azizbekian    schedule 14.04.2017
comment
я хочу синий квадрат с маленькой точкой внутри, как на втором изображении..   -  person Siddarth G    schedule 14.04.2017
comment
Почему бы не установить точку как отдельный атрибут compoundDrawableBottom?   -  person BladeCoder    schedule 18.04.2017


Ответы (2)


сначала создайте color_circle в drawable

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


  <solid android:color="#ffffff">


  </solid>

 <size
    android:width="48dp"
    android:height="48dp" />


</shape>

а потом

    <RelativeLayout
    android:layout_width="64dp"
    android:layout_height="148dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <Button
            android:textAllCaps="true"
            android:textStyle="bold"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="WED" />

    </LinearLayout>


    <View
        android:layout_width="16dp"
        android:layout_height="16dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="16dp"
        android:background="@drawable/color_circle" />


</RelativeLayout>

Я надеюсь, это то, что ты хочешь

person Farzad SKI    schedule 08.03.2020

Это

ImageView имеет src для dotted.xml.

<ImageView
  android:layout_width="178.8dp"
  android:layout_height="178.8dp"
  android:src="@drawable/dotted"
  android:layout_centerInParent="true"
  android:layerType="software" />
add below to drawable/dotted.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
  <stroke
    android:color="@android:color/white"
    android:dashWidth="1px"
    android:dashGap="10px"
    android:width="6.6dp"/>
</shape>
person Basudev Adhikary    schedule 17.06.2020
comment
Изменения отступов - person Karthick Nagarajan; 17.06.2020