RecycleView中的项目不会对齐xamarin.android

时间:2019-09-17 21:50:16

标签: android xamarin.android

我有一个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中填充项目时,它们将无法正确对齐,但如下图所示:

enter image description here

RecycleView以常规方式填充。只要每个布局宽度为:android:layout_width="match_parent",它就应该将此布局扩展到父级宽度,并且逻辑上应该对齐项目。有什么建议吗?

2 个答案:

答案 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_verticalcenter_horizontal