android - 在android中显示7天
问题描述
我在android方面的经验少一些。我正在根据下面附加的快照在 android 的屏幕上显示 7 个静态天。我尝试使用网格布局,但我的设计出现了 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>
解决方案
请通过这个问题。你需要的是将gridlayout的宽度设置为match_parent,即android:layout_width="wrap_content"
并设置内部元素的布局重力以填充并为每列赋予 1 的权重,例如
android:layout_gravity="fill"
android:layout_columnWeight="1"
推荐阅读
- c - 使用 get_user_pages 和 vmap 将大型用户模式缓冲区映射到内核空间
- azure - 服务主体如何登录到我的 Azure 应用服务?
- scala - How do I get the value of a symbol using Scala reflection?
- amazon-web-services - 删除 AWS CloudFormation 堆栈不会释放分配给负载均衡器的弹性 IP
- bash - 如何在bash中使用多线程追加多个文件
- python - 如果我流式传输,Tweepy 不会打印出整个推文
- react-native - DropDownMenu React Native
- javascript - 独立于页面的其余部分缩放网页的一部分
- javascript - 出现错误说找不到模块'../util/http_util'
- regex - PowerShell Lookbehind 的 RegeX 代码在 IP 寻址上不匹配