我有以下列表项布局:
<?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>
我尝试使用:
将项目的自定义高度设置为50dpandroid: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>
答案 0 :(得分:1)
删除
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