Совместите вид изображения с другими элементами линейного макета в Android - PullRequest
0 голосов
/ 18 мая 2019

Я создаю статический календарь на неделю согласно снимку ниже.Как вы можете видеть, точечное изображение не выравнивается с другими элементами в линейном макете.Это статический календарь, который отображает дни текущей недели.Мне пришлось установить ширину и высоту кнопки в 40dp, а не круговой фон. Я получал немного овальной формы для фона кнопки при выборе.Любые указатели на изменения, необходимые для выравнивания значка точки с другими элементами по вертикали.

Стиль кнопок с закругленными углами описан ниже.

<?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="#FFFFFF"/>
        </shape>
    </item>
    <item android:state_pressed="true">
        <shape android:shape="oval">
            <solid android:color="#000000"/>
        </shape>
    </item>
</selector>

Мой макет пользовательского интерфейса xml приведен ниже.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="7">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/dayLabel1"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn1"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"
            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            app:srcCompat="@drawable/dotindicatoricon" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp">

        <TextView
            android:id="@+id/dayLabel2"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn2"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"
            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:layout_gravity="center_horizontal"
            app:srcCompat="@drawable/dotindicatoricon" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp">

        <TextView
            android:id="@+id/dayLabel3"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn3"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"

            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            app:srcCompat="@drawable/dotindicatoricon" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp">

        <TextView
            android:id="@+id/dayLabel4"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn4"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"

            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            app:srcCompat="@drawable/dotindicatoricon" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp">

        <TextView
            android:id="@+id/dayLabel5"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn5"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"

            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            app:srcCompat="@drawable/dotindicatoricon" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp">

        <TextView
            android:id="@+id/dayLabel6"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn6"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"

            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            app:srcCompat="@drawable/dotindicatoricon" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp">

        <TextView
            android:id="@+id/dayLabel7"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn7"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"
            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            app:srcCompat="@drawable/dotindicatoricon" />    
    </LinearLayout>    
</LinearLayout>

UI Layout

1 Ответ

0 голосов
/ 19 мая 2019

gravity = "center" должно быть подходящим, кажется, есть проблема withdotindicatoricon может быть, вы установили некоторые поля в xml?или там где-то там прокладка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...