android - 将图像视图与 Android 中的其他线性布局元素对齐
问题描述
我正在根据下面的快照设计一个静态周历。如您所见,点图像未与线性布局中的其他项目对齐。这是一个静态日历,显示当前一周中的天数。I had to set button width and height to 40dp else instead of circular background I was getting bit of oval shape for button background when selected. 将点图标与其他项目垂直对齐所需的更改上的任何指针。
圆形按钮样式如下。
<?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 UI 布局如下。
<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>
解决方案
重力=“中心”应该是合适的,似乎有一个问题withdotindicatoricon
,也许你在xml中设置了一些边距?还是某处有填充物?
推荐阅读
- angular - 错误 NG6001:类 'EaZimmerkatDialogComponent' 列在 NgModule 'AppModule' 的声明中,但不是指令,组件
- react-admin - 在 react-admin 中动态加载资源后如何刷新侧边栏菜单
- rust - 如何解决错误“不能一次多次借用`*self`作为可变变量”
- c# - 如何声明和等待异步委托?
- gitlab-ci - gitlab-ci 扩展作业的结果
- python - 提示用户在 google colab 中加载 csv
- android - 无法以新加坡 asia-southeast1 作为位置写入 firebase 实时数据库
- swift - Twilio 视频轨道附件未在 swift 5 中显示远程参与者的视频
- macos - 找不到 gslcblas 库,无法安装 R 包
- sql - IIS 8.5 ASP.Net 错误删除网站