gpt4 book ai didi

android - setGravity 不适用于 RelativeLayout

转载 作者:行者123 更新时间:2023-11-29 00:29:05 25 4
gpt4 key购买 nike

This question和我的很相似,但是没有建设性的回答。

我正在尝试对列表中的标题 View 进行简单切换。我希望第一部分的头部在左侧,第二部分的头部在右侧。这个head view的布局是一个相对布局如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/location_list_pinned_header"
android:layout_width="fill_parent"
android:layout_height="32dip"
android:background="#505050"
android:clickable="true"
android:orientation="vertical" >

<TextView
android:id="@+id/zlocation_list_header_text"
android:layout_width="40dip"
android:layout_height="32dip"
android:layout_gravity="top"
android:gravity="center"
android:paddingTop="2dip"
android:textColor="#000000"
android:textSize="16sp" />

</RelativeLayout>

而我在 java 代码中所做的是:

    RelativeLayout header = (RelativeLayout) headerView.findViewById(R.id.location_list_pinned_header);
if ( section%2 == 0 ) {
((TextView) headerView.findViewById(id))
.setText(title);//set the section title, may be like "Feb" "Jan"
header.setGravity(Gravity.LEFT);//I am sure it is been set, I see the mGravity of RelativeLayout changed in debug mode
}
else {
((TextView) headerView.findViewById(id))
.setText(title);
header.setGravity(Gravity.RIGHT);
}

正如我在评论中所说,我确信 setGravity 已经设置了值。但它没有改变。设置布局参数后是否应该执行其他操作?因为如果我在 if 子句中将重力设置为 RIGHT,它不会显示在我的屏幕上。但是,如果我再次向下和向上滚动,它会变为右侧,但仍然不像我预期的那样,每个部分的位置不同。这种情况下的所有部分都向右移动...

headerView 是一个包含 RelativeLayout 的 View :

mDisPlay.setPinnedHeaderView(LayoutInflater.from(mContext).inflate(
R.layout.zlocation_list_section_header, mDisPlay, false));

将设置标题 View ,mDisPlay 是列表,就像我之前说的那样。此代码中使用的布局显示在代码的第一个摘录中。下面是方法setPinnedHeaderView

public void setPinnedHeaderView(View view) {
mHeaderView = view;
if (mHeaderView != null) {
setFadingEdgeLength(0);
}
System.out.println("setPinnedHeaderView");

requestLayout();
}

最佳答案

请注意 RelativeLayout 没有方向属性;从您的 XML 中删除它。

但是,我不明白为什么这里的页眉需要一个 RelativeLayout 父级;为什么不使用 LinearLayout?给这个垂直方向,比方说,并按原样设置它的引力。

如果你能完全取消父布局就更好了。这个只有一个 child 。

关于android - setGravity 不适用于 RelativeLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17182418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com