gpt4 book ai didi

java - View 未显示在 RelativeLayout 中

转载 作者:行者123 更新时间:2023-11-30 02:47:51 25 4
gpt4 key购买 nike

我正在尝试让 View 、蓝色条显示在列表中,但它似乎不能。注意:图像稍​​后在创建 ListView 时设置

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white">
<LinearLayout
android:id="@+id/list_img_ll"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="horizontal">

<ImageView
android:id="@+id/imgList1"
android:layout_width="wrap_content"
android:layout_height="80dp"
/>

</LinearLayout>

<View android:id="@+id/state_open"
android:layout_alignParentRight="true"
android:layout_width="20dp"
android:layout_height="match_parent"
android:background="@color/CVBlue" />
</RelativeLayout>

getView() 方法

@Override
public View getView(int position, View convertView, ViewGroup parent) {

View row = convertView;
RecordHolder holder = null;

if (row == null) {

LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);

holder = new RecordHolder();
holder.imageItem = (ImageView) row.findViewById(R.id.imgList1);
holder.stateView = row.findViewById(R.id.state_open);

row.setTag(holder);

} else {

holder = (RecordHolder) row.getTag();

}

Item item = data.get(position);
holder.imageItem.setImageBitmap(item.getImage());




return row;

}

这是结果。请注意右上角它似乎尝试生成但不起作用。此外,当我设置 relativelayout 的高度时,它起作用了,我很困惑。不工作的图像 http://i.stack.imgur.com/xAlpg.png

这是我想要的东西,无需配置 relativelayout 大小 http://i.stack.imgur.com/SCRTu.png

最佳答案

问题出在您的 LinearLayout 上。添加以下属性:

android:layout_toLeftOf="@+id/state_open"

问题是您将 LinearLayout 的宽度设置为 match_parent,它占据了整个屏幕的宽度。不为 View 留出任何空间。通过将它设置在的左侧,可以防止它占用 View 的所有可用空间。

明白了。很奇怪。在 state_open View 中添加:

android:layout_alignTop="@+id/list_img_ll"
android:layout_alignBottom="@+id/list_img_ll"

问题是 state_open View 不知道给颜色值多少高度...即使 View 获得了适当的高度。将其与 LinearLayout 对齐即可。替代解决方案是只给 View 一个实际的 dp 大小而不是 match_parent。即,80dp。有史以来最奇怪的事情。

关于java - View 未显示在 RelativeLayout 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24723910/

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