gpt4 book ai didi

java - 将自定义形状应用于 Android ListView

转载 作者:行者123 更新时间:2023-12-02 12:22:16 25 4
gpt4 key购买 nike

您好,我正在尝试将自定义形状和 View 应用到我的 Android ListView 。当 ListView 中添加了足够多的元素,您必须滚动才能看到所有元素时,它可以正常工作。但如果少于这个值,则看起来像这样 enter image description here

    <ListView
android:id="@+id/recipe_list_view"
android:layout_width="333dp"
android:layout_height="163dp"
android:layout_marginTop="46dp"
android:background="@drawable/shape"
android:divider="@color/darkblue"
android:dividerHeight="10.0sp"
android:gravity="center"
android:textAlignment="center"
app:layout_constraintLeft_toLeftOf="@+id/constraintLayout2"
app:layout_constraintRight_toRightOf="@+id/constraintLayout2"
app:layout_constraintTop_toBottomOf="@+id/imageView3"></ListView>

这是我的绘图中的形状

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#2ECC71"
android:endColor="#2ECC71"
android:angle="270"/>

<corners
android:bottomRightRadius="7dp"
android:bottomLeftRadius="7dp"
android:topLeftRadius="7dp"
android:topRightRadius="7dp"/>
</shape>

这是实现 ListView 的代码

mListView = (ListView) findViewById(R.id.listView);
String[] listItems = new String[listOfUserIds.size()];

for(int i = 0; i < users.size(); i++){
listItems[i] = users.get(i);
}

ArrayAdapter adapter = new ArrayAdapter(EventDetailsActivity.this, android.R.layout.simple_list_item_1, listItems);
mListView.setAdapter(adapter);

这是当有足够的元素可以滚动时的样子

enter image description here

最佳答案

您为listView提供了背景,并且 ListView 高度为163dp,因此如果只有几个项目,它将不会填充完整的布局。这样你就可以看到背景了。解决方案是,您可以提供 wrap_content,而不是提供固定高度,或者您应该提供列表项,而不是为列表提供背景。

关于java - 将自定义形状应用于 Android ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45682036/

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