Показать 7 дней в Android - PullRequest
0 голосов
/ 18 мая 2019

Я немного менее опытен в Android.Я работаю над отображением 7 статических дней на экране в Android согласно приложенному снимку ниже.Я пытался использовать Grid Layout, но с моим дизайном появляются 7 дней, но они не занимают всю ширину экрана и не имеют одинакового промежутка между ними.Я также хочу, чтобы пользователь мог выбрать дату, и, как показано на рисунке ниже, выбранная дата должна быть обведена кружочком.Любые указатели на лучший способ уловить это.

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

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="7"
android:rowCount="3">

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

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

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

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

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

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

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

<Button
    android:id="@+id/dateBtn1"
    style="@style/Widget.Sitrion.Button"
    android:layout_width="@dimen/calendar_day_width"
    android:layout_height="@dimen/calendar_day_height"
    android:layout_row="1"
    android:layout_column="0"
    android:background="@drawable/round_button"
    android:text="13" />

<Button
    android:id="@+id/dateBtn2"
    style="@style/Widget.Sitrion.Button"
    android:layout_width="@dimen/calendar_day_width"
    android:layout_height="@dimen/calendar_day_height"
    android:layout_row="1"
    android:layout_column="1"
    android:background="@drawable/round_button"
    android:text="13" />

<Button
    android:id="@+id/dateBtn3"
    style="@style/Widget.Sitrion.Button"
    android:layout_width="@dimen/calendar_day_width"
    android:layout_height="@dimen/calendar_day_height"
    android:layout_row="1"
    android:layout_column="2"
    android:background="@drawable/round_button"
    android:text="13" />

<Button
    android:id="@+id/dateBtn4"
    style="@style/Widget.Sitrion.Button"
    android:layout_width="@dimen/calendar_day_width"
    android:layout_height="@dimen/calendar_day_height"
    android:layout_row="1"
    android:layout_column="3"
    android:background="@drawable/round_button"
    android:text="13" />

<Button
    android:id="@+id/dateBtn5"
    style="@style/Widget.Sitrion.Button"
    android:layout_width="@dimen/calendar_day_width"
    android:layout_height="@dimen/calendar_day_height"
    android:layout_row="1"
    android:layout_column="4"
    android:background="@drawable/round_button"
    android:text="13" />

<Button
    android:id="@+id/dateBtn6"
    style="@style/Widget.Sitrion.Button"
    android:layout_width="@dimen/calendar_day_width"
    android:layout_height="@dimen/calendar_day_height"
    android:layout_row="1"
    android:layout_column="5"
    android:background="@drawable/round_button"
    android:text="13" />

<Button
    android:id="@+id/dateBtn7"
    style="@style/Widget.Sitrion.Button"
    android:layout_width="@dimen/calendar_day_width"
    android:layout_height="@dimen/calendar_day_height"
    android:layout_row="1"
    android:layout_column="6"
    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_row="2"
    android:layout_column="0"
    android:layout_gravity="center"
    android:layout_marginTop="5dp"
    app:srcCompat="@drawable/dotindicatoricon" />

<ImageView
    android:id="@+id/dotIcon2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_row="2"
    android:layout_column="1"
    android:layout_gravity="center"
    android:layout_marginTop="5dp"
    app:srcCompat="@drawable/dotindicatoricon" />

<ImageView
    android:id="@+id/dotIcon3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_row="2"
    android:layout_column="2"
    android:layout_gravity="center"
    android:layout_marginTop="5dp"
    app:srcCompat="@drawable/dotindicatoricon" />

<ImageView
    android:id="@+id/dotIcon4"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_row="2"
    android:layout_column="3"
    android:layout_gravity="center"
    android:layout_marginTop="5dp"
    app:srcCompat="@drawable/dotindicatoricon" />

<ImageView
    android:id="@+id/dotIcon5"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_row="2"
    android:layout_column="4"
    android:layout_gravity="center"
    android:layout_marginTop="5dp"
    app:srcCompat="@drawable/dotindicatoricon" />

<ImageView
    android:id="@+id/dotIcon6"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_row="2"
    android:layout_column="5"
    android:layout_gravity="center"
    android:layout_marginTop="5dp"
    app:srcCompat="@drawable/dotindicatoricon" />

<ImageView
    android:id="@+id/dotIcon7"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_row="2"
    android:layout_column="6"
    android:layout_gravity="center"
    android:layout_marginTop="5dp"
    app:srcCompat="@drawable/dotindicatoricon" />

</GridLayout>

enter image description here

Ответы [ 3 ]

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

Для этого вы должны сделать это в вашем коде

android:layout_gravity="fill"
android:layout_columnWeight="1"

, а также установите ширину макета сетки в match_parent, тогда, возможно, вы достигнете этого.

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

Используйте Linear с

android:orientation="horizontal"
android:weightSum="7"

Ниже приведен макет XML

<?xml version="1.0" encoding="utf-8"?>
<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_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/dayLabel1"
            android:layout_width="wrap_content"
            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="wrap_content"
            android:layout_height="wrap_content"
            android:text="13" />

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

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/dayLabe2"
            android:layout_width="wrap_content"
            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="wrap_content"
            android:layout_height="wrap_content"
            android:text="13" />

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

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/dayLabe3"
            android:layout_width="wrap_content"
            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="wrap_content"
            android:layout_height="wrap_content"
            android:text="13" />

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

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/dayLabe4"
            android:layout_width="wrap_content"
            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="wrap_content"
            android:layout_height="wrap_content"
            android:text="13" />

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

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/dayLabel5"
            android:layout_width="wrap_content"
            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="wrap_content"
            android:layout_height="wrap_content"
            android:text="13" />

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

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/dayLabel6"
            android:layout_width="wrap_content"
            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="wrap_content"
            android:layout_height="wrap_content"
            android:text="13" />

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

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/dayLabel7"
            android:layout_width="wrap_content"
            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="wrap_content"
            android:layout_height="wrap_content"
            android:text="13" />

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

    </LinearLayout>

</LinearLayout>
0 голосов
/ 18 мая 2019

Пожалуйста, пройдите этот вопрос . То, что вам нужно, это установить ширину сетки на match_parent, т.е. android:layout_width="wrap_content"

и установите гравитацию расположения ваших внутренних элементов для заполнения и присвойте каждому столбцу вес 1, например

android:layout_gravity="fill"
android:layout_columnWeight="1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...