[英]Android Listview Item : How to set custom height of the item?
我有以下列表项布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/AppTheme.ListViewItemStyle_1">
<View android:id="@+id/data_view_stripe"
style="@style/AppTheme.RedStripe"/>
<ImageView android:id="@+id/data_iv_main"
style="@style/AppTheme.ImageBig"
android:src="@drawable/web_icon_weight"
android:contentDescription="Item icon"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="4"
android:padding="4dp"
android:layout_gravity="center">
<TextView android:id="@+id/data_tv_title"
style="@style/AppTheme.ListItemDefaultHeading"
android:text="BP - diastolic"/>
<TextView android:id="@+id/data_tv_value"
style="@style/AppTheme.WrapContent.Value"
android:text="87 mmHg"/>
<TextView android:id="@+id/data_tv_occurence_desc"
style="@style/AppTheme.WrapContent.Calendar"
android:text="Daily at 8:00"/>
<TextView android:id="@+id/data_tv_overdue"
style="@style/AppTheme.WrapContent.Schedule"
android:text="Overdue (Today at 8:00)"/>
<TextView android:id="@+id/data_tv_test_time"
style="@style/AppTheme.WrapContent.Schedule"
android:text="Overdue (Today at 8:00)"/>
</LinearLayout>
<ImageButton android:id="@+id/data_btn_favourite"
style="@style/AppTheme.RatingBasic"
android:paddingLeft="15dp"
android:paddingRight="0dp"
android:contentDescription="Favourite button"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1"
android:layout_gravity="center">
<ImageView android:id="@+id/data_iv_trend"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:src="@drawable/ic_arrow_down"
android:contentDescription="Progress indicator"/>
<ImageButton android:id="@+id/data_btn_info"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/background_white"
style="@style/AppTheme.Info"
android:contentDescription="Information button"/>
</LinearLayout>
</LinearLayout>
具有以下样式:
<!-- Base ListVIew Item -->
<style name="AppTheme.ListViewItemBase" >
<item name="android:background">@color/background_white</item>
<item name="android:paddingTop">10dp</item>
<item name="android:paddingBottom">10dp</item>
<item name="android:paddingRight">10dp</item>
<item name="android:divider">@android:color/holo_red_dark</item>
<item name="android:dividerHeight">10dp</item>
<item name="android:orientation">horizontal</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
<item name="android:layout_gravity">center</item>
</style>
<!-- ListVIew Item style 01-->
<style name="AppTheme.ListViewItemStyle_1" parent="AppTheme.ListViewItemBase">
<item name="android:layout_height">50dp</item>
<item name="android:descendantFocusability">blocksDescendants</item>
</style>
我尝试使用以下命令将商品的自定义高度设置为50dp:
android:layout_height
在Android Studio布局预览中更改了高度,但是如果我将应用程序部署到实际设备中,则该项目的高度保持不变。
如何使用样式设置列表项的自定义高度?
非常感谢您的任何建议。
编辑:根据您的建议,我尝试了以下对我不起作用的示例(项目高度仍然相同)。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:orientation="horizontal"
android:layout_height="20dp"
>
<View android:id="@+id/data_view_stripe"
style="@style/AppTheme.RedStripe"/>
<ImageView android:id="@+id/data_iv_main"
style="@style/AppTheme.ImageBig"
android:src="@drawable/web_icon_weight"
android:contentDescription="Item icon"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="4"
android:padding="4dp"
android:layout_gravity="center">
<TextView android:id="@+id/data_tv_title"
style="@style/AppTheme.ListItemDefaultHeading"
android:text="BP - diastolic"/>
<TextView android:id="@+id/data_tv_value"
style="@style/AppTheme.WrapContent.Value"
android:text="87 mmHg"/>
<TextView android:id="@+id/data_tv_occurence_desc"
style="@style/AppTheme.WrapContent.Calendar"
android:text="Daily at 8:00"/>
<TextView android:id="@+id/data_tv_overdue"
style="@style/AppTheme.WrapContent.Schedule"
android:text="Overdue (Today at 8:00)"/>
<TextView android:id="@+id/data_tv_test_time"
style="@style/AppTheme.WrapContent.Schedule"
android:text="Overdue (Today at 8:00)"/>
</LinearLayout>
<ImageButton android:id="@+id/data_btn_favourite"
style="@style/AppTheme.RatingBasic"
android:paddingLeft="15dp"
android:paddingRight="0dp"
android:contentDescription="Favourite button"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1"
android:layout_gravity="center">
<ImageView android:id="@+id/data_iv_trend"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:src="@drawable/ic_arrow_down"
android:contentDescription="Progress indicator"/>
<ImageButton android:id="@+id/data_btn_info"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/background_white"
style="@style/AppTheme.Info"
android:contentDescription="Information button"/>
</LinearLayout>
</LinearLayout>
去掉
style="@style/AppTheme.ListViewItemStyle_1"
android:orientation
在哪里 然后。您可以尝试这种方式,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:orientation="horizontal">
注意 :根据您的要求将android:orientation=""
为horizontal
或vertical
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.