Android GridView中的文本仅在第一项中与中心对齐
在我的Android应用程序中,我有一个Android GridView中的文本仅在第一项中与中心对齐,android,gridview,textview,centering,Android,Gridview,Textview,Centering,在我的Android应用程序中,我有一个GridView,附带BaseAdapter。在GridView的每个单元格中,我都有一个CardView,其中有一个图像和两个文本视图。问题是每个单元格的项目都应该与中心垂直对齐,但只有网格视图的第一个项目与中心垂直对齐 cellLayout.xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.
GridView
,附带BaseAdapter
。在GridView
的每个单元格中,我都有一个CardView
,其中有一个图像和两个文本视图。问题是每个单元格的项目都应该与中心垂直
对齐,但只有网格视图的第一个项目与中心垂直
对齐
cellLayout.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:card_view="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_width="300dp"
android:layout_height="wrap_content"
card_view:cardCornerRadius="4dp">
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="1"
android:rowCount="3">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/itemImageList"
android:layout_gravity="center|top|center_vertical"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/itemNameList"
android:layout_gravity="center|center_vertical"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/itemPriceList"
android:layout_gravity="center|bottom|center_vertical"/>
</GridLayout>
</android.support.v7.widget.CardView>
在GridView中有3列,因此只有第一行中的左侧项正确对齐。其余单元格中的文本向左对齐
如何修复此问题,使所有文本都与中心垂直对齐?您不需要在cardview中使用GridLayout。在cardview中使用相对布局并对齐TextView和ImageViews如果使用GridLayout,则需要设置rowSpec和columnSpec,并使用setGravity方法在其单元格组中指定子对象的对齐方式。请在此处阅读更多信息: