android gridview设置item居中显示

来源:互联网 发布:注册淘宝跳过手机验证 编辑:程序博客网 时间:2024/05/22 10:28

今天突然发现写的一个布局,gridview中各个item没有居中显示,网上搜了一下发现很多人都问这个问题。

总结了一下,发现只有一种有效方法
1.在item的布局中组件中设置android:layout_gravity=”center_horizontal”,如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <ImageView        android:id="@+id/item_drama_result_cover"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/nocover1"/>    <TextView        android:id="@+id/item_drama_result_title"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:lines="2"        android:ellipsize="end"        android:text="浮生若梦"        android:textSize="13sp"        android:textColor="@color/personal_black"/>    <TextView        android:id="@+id/drama_result_update_hint"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:textSize="11sp"        android:textColor="@color/gray_text"/></LinearLayout>

2.这么设置imageview确实是居中了,但是想我这样imageview下面还有textview的时候,如果同样设置以后,textview的字也变成居中了,跟imageview并没有保持左对齐,这样看起来看别扭。于是还有另一种有效方法,直接在代码中设置居中,这样就不用担心图片和字的左对齐问题了

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);            layoutParams.gravity = Gravity.CENTER_HORIZONTAL;convertView.setLayoutParams(layoutParams);

这样直接在adapter中把convertView设置成居中以后,发现完美实现了gridview的item居中显示,对于convertView中多个控件的推荐用这种。

0 0
原创粉丝点击