android gridview设置item居中显示

今天突然发现写的一个布局,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中多个控件的推荐用这种。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值