我有一个RecycleView
,我在其中垂直添加了项目:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:gravity="top">
<android.support.v7.widget.RecyclerView
android:id="@+id/contrattiRecycle"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top|center"
android:layout_weight="1"/>
</LinearLayout>
和itemcontainer像这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:id="@+id/ore"
android:layout_weight="1"
android:foregroundGravity="center"
android:gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:id="@+id/contratti"
android:layout_weight="1"
android:gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:id="@+id/resa"
android:layout_weight="1"
android:gravity="center_horizontal"/>
</LinearLayout>
当我在RecycleView
中填充项目时,它们将无法正确对齐,但如下图所示:
RecycleView
以常规方式填充。只要每个布局宽度为:android:layout_width="match_parent"
,它就应该将此布局扩展到父级宽度,并且逻辑上应该对齐项目。有什么建议吗?
答案 0 :(得分:2)
android:layout_weight =“ 1”
在使用android:layout_width="wrap_content"
属性时,如果设置了android:layout_width="wrap_content"
,则系统会首先为三个文本视图分配其宽度wrap_content(宽度足以容纳其内容),然后将剩余的屏幕空间分配给三个文本视图按1:1:1的比例显示,因此您的内容宽度不相同,因此不会对齐。
您只需要更改 TextView
android:layout_width="0dp"
到
$rows = DB::table('student_classes')->whereNotBetween('start_date', [$data['start_date'],$data['end_date']])->get();
if (count($rows)>0) {
// throw error
} else {
// save the results
}
在这种情况下,它将首先将宽度除以1:1:1
答案 1 :(得分:1)
对于线性布局和文本视图,请执行以下操作:
android:layout_gravity="center"
android:gravity="center"
不是center_vertical
或center_horizontal