首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GridLayoutManager柱高问题

GridLayoutManager柱高问题
EN

Stack Overflow用户
提问于 2016-08-20 07:10:51
回答 2查看 1.5K关注 0票数 2

对于列表中的所有列,我希望达到相同的布局高度。我正在使用GridLayoutManager

代码语言:javascript
复制
RecyclerView.LayoutManager layoutManager = new GridLayoutManager(mCon,2 );
recyclerView.setLayoutManager(layoutManager);

这是列xml文件。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/card_view"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="@dimen/padding_8dp"
    android:layout_marginLeft="@dimen/padding_4dp"
    android:layout_marginRight="@dimen/padding_4dp"
    android:clickable="true"
    android:padding="1dp"
    card_view:cardCornerRadius="@dimen/padding_2dp"
    card_view:cardUseCompatPadding="true">


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="0dp">

        <RelativeLayout
            android:id="@+id/rel_first"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="@dimen/padding_8dp">

            <ImageView
                android:id="@+id/userimg"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_marginLeft="@dimen/padding_16dp"
                android:layout_marginTop="@dimen/padding_8dp"
                android:background="@drawable/user_profile_default" />

            <RelativeLayout
                android:id="@+id/nameRL"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/padding_4dp"
                android:layout_toRightOf="@+id/userimg"
                android:orientation="vertical">

                <com.skcsllp.mutterfly.widgets.MfTextView
                    android:id="@+id/u_name"
                    style="@style/textview.bold"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="@dimen/padding_16dp"
                    android:layout_marginStart="@dimen/padding_16dp"
                    android:layout_marginTop="@dimen/padding_8dp"
                    android:text="Akshay"
                    android:textColor="@color/new_text_grey"
                    android:textSize="@dimen/text_size_big_16"
                    />

                <ImageView
                    android:id="@+id/location1"
                    android:layout_width="7dp"
                    android:layout_height="10dp"
                    android:layout_below="@+id/u_name"
                    android:layout_marginBottom="@dimen/padding_4dp"
                    android:layout_marginLeft="@dimen/padding_16dp"
                    android:layout_marginStart="@dimen/padding_16dp"
                    android:layout_marginTop="@dimen/padding_8dp"
                    android:background="@drawable/location_pin" 
                    />

                <com.skcsllp.mutterfly.widgets.MfTextView
                    android:id="@+id/location"
                    style="@style/textview"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/u_name"
                    android:layout_marginLeft="@dimen/padding_4dp"
                    android:layout_marginTop="@dimen/padding_8dp"
                    android:layout_toEndOf="@+id/location1"
                    android:layout_toRightOf="@+id/location1"
                    android:text="2.5km"
                    android:textSize="@dimen/text_size_extra_extra_small_10" 
                    />

            </RelativeLayout>


            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_below="@+id/nameRL"
                android:layout_gravity="center"
                android:layout_marginTop="@dimen/padding_8dp"
                android:background="@color/grey_bottmon_tab" 
                />

        </RelativeLayout>


        <RelativeLayout
            android:id="@+id/main_rl"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/rel_first"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="@dimen/padding_16dp"
            android:layout_marginTop="@dimen/padding_4dp"
            android:gravity="center"
            android:minHeight="80dp">

            <LinearLayout
                android:id="@+id/ln_cart"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_marginLeft="@dimen/padding_16dp"
                android:layout_marginRight="@dimen/padding_16dp"
                android:orientation="horizontal">

                <ImageView
                    android:layout_width="@dimen/padding_24dp"
                    android:layout_height="@dimen/padding_24dp"
                    android:layout_marginTop="@dimen/padding_16dp"
                    android:background="@drawable/cart_icon"
                    android:padding="@dimen/padding_2dp" 
                    />

                <com.skcsllp.mutterfly.widgets.MfTextView
                    android:id="@+id/item_name"
                    style="@style/textview"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="@dimen/padding_8dp"
                    android:layout_marginLeft="@dimen/padding_8dp"
                    android:layout_marginTop="@dimen/padding_16dp"
                    android:text="Laptop "
                    android:textColor="@color/primary"
                    android:textSize="@dimen/text_size_big_16"
                    />

            </LinearLayout>

            <LinearLayout
                android:id="@+id/ln_cal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/ln_cart"
                android:layout_centerHorizontal="true"
                android:layout_marginLeft="@dimen/padding_16dp"
                android:layout_marginRight="@dimen/padding_16dp"
                android:layout_marginTop="@dimen/padding_4dp"
                android:orientation="horizontal">

                <ImageView
                    android:layout_width="@dimen/padding_24dp"
                    android:layout_height="@dimen/padding_24dp"
                    android:background="@drawable/ic_cal"
                    />

                <com.skcsllp.mutterfly.widgets.MfTextView
                    android:id="@+id/date"
                    style="@style/textview"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="@dimen/padding_16dp"
                    android:layout_marginLeft="@dimen/padding_8dp"
                    android:layout_marginTop="@dimen/padding_4dp"
                    android:text=" 7 july - 8 july"
                    android:textColor="@color/new_text_grey"
                    android:textSize="@dimen/text_size_small_14"
                    />

            </LinearLayout>
        </RelativeLayout>


        <View
            android:id="@+id/view_second"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:layout_below="@+id/main_rl"
            android:layout_marginTop="@dimen/padding_8dp"
            android:background="@color/grey_bottmon_tab" 
            />


        <RelativeLayout
            android:id="@+id/main_ln_sec"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/view_second"
            android:layout_centerHorizontal="true"
            android:gravity="center"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/number_of_provider"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_centerHorizontal="true"
                android:gravity="center"
                android:text="3"
                android:visibility="gone"
                />

            <TextView
                android:id="@+id/offer_sent"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_centerHorizontal="true"
                android:gravity="center"
                android:text="offersent"
                android:visibility="gone" 
                />

            <ImageView
                android:id="@+id/accept_image"
                android:layout_width="@dimen/padding_32dp"
                android:layout_height="@dimen/padding_32dp"
                android:layout_centerHorizontal="true"
                android:layout_marginLeft="@dimen/padding_16dp"
                android:background="@drawable/check_mark"
                android:gravity="center" 
                />
        </RelativeLayout>


    </RelativeLayout>
</android.support.v7.widget.CardView>

两列的高度相同,但当项目名称较大时,底部勾选的位置有所不同。有人能建议我怎么解决这个问题吗。谢谢

EN

回答 2

Stack Overflow用户

发布于 2016-08-20 07:25:18

因为,您希望您的所有main_rl都具有相同的高度,这取决于您的用例,实现这一目标的方法之一是将其高度修正为足够大的值,并让android:gravity="center"处理其余的内容:

代码语言:javascript
复制
<RelativeLayout
        android:id="@+id/main_rl"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_below="@+id/rel_first"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="@dimen/padding_16dp"
        android:layout_marginTop="@dimen/padding_4dp"
        android:gravity="center">
...
</RelativeLayout>

这在大多数情况下都是可行的。如果我真的想使用这种方法,我会在相邻的卡之间找到更大的高度(在运行时通过ViewTreeObserver ),然后将这个值设置为另一个。我怀疑这是必要的。

票数 1
EN

Stack Overflow用户

发布于 2016-08-20 08:36:31

尝试将android:layout_below="@+id/view_second"更改为android:layout_alignParentBottom="true",使底部总是位于父布局的底部。我其实没有想过要核实我的答案是正确的,但我的答案是:

代码语言:javascript
复制
<RelativeLayout
        android:id="@+id/main_ln_sec"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/view_second"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:orientation="horizontal">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39051516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档