Android 如何设置自定义列表视图的布局?

Android 如何设置自定义列表视图的布局?,android,android-layout,Android,Android Layout,我正在尝试在我的应用程序中创建自定义列表视图。在纵向模式下可以,但在横向模式下,行的宽度与纵向模式下相同 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height=

我正在尝试在我的应用程序中创建自定义列表视图。在纵向模式下可以,但在横向模式下,行的宽度与纵向模式下相同

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
    android:orientation="horizontal">

    <LinearLayout 
        android:id="@+id/lnrRow"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:orientation="vertical"
        android:background="@drawable/textlines" >

       <TextView
        android:id="@+id/txt_Profile_Name"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"/>

 </LinearLayout>

   <LinearLayout 
        android:id="@+id/lnrRowAction"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:orientation="horizontal">

    <Button 
     android:id="@+id/imgEdit"
     style="@style/editButton"  />

    <Button 
        android:id="@+id/imgDelete"
        style="@style/deleteButton" />
    </LinearLayout>
    </LinearLayout>

   <style name="editButton">
        <item name="android:drawableLeft">@drawable/ic_action_edit</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">12dp</item>
        <item name="android:textColor">@color/Gray</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
          <item name="android:background">@color/Transparent</item>
        <item name="android:text">Edit</item>
   </style>

@可绘制/集成电路动作编辑
正常的
12dp
@颜色/灰色
包装内容
包装内容
@彩色/透明
编辑

这可能会将您指向正确的方向(如果您没有在按钮样式中设置重量和/或宽度):



这可能会将您指向正确的方向(如果您没有在按钮样式中设置权重和/或宽度):



这可能会将您指向正确的方向(如果您没有在按钮样式中设置权重和/或宽度):



这可能会将您指向正确的方向(如果您没有在按钮样式中设置权重和/或宽度):



使用相对布局而不是线性布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lnrRow"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TextView
    android:id="@+id/txt_Profile_Name"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/imgEdit"
    android:layout_alignParentLeft="true"
    android:layout_toLeftOf="@+id/imgEdit"
    android:background="@drawable/textlines" />

<Button
    android:id="@+id/imgEdit"
    style="@style/editButton"
    android:layout_alignBaseline="@+id/imgDelete"
    android:layout_toLeftOf="@+id/imgDelete" />

<Button
    android:id="@+id/imgDelete"
    style="@style/deleteButton"
    android:layout_alignParentRight="true" />

</RelativeLayout>

使用相对布局而不是线性布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lnrRow"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TextView
    android:id="@+id/txt_Profile_Name"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/imgEdit"
    android:layout_alignParentLeft="true"
    android:layout_toLeftOf="@+id/imgEdit"
    android:background="@drawable/textlines" />

<Button
    android:id="@+id/imgEdit"
    style="@style/editButton"
    android:layout_alignBaseline="@+id/imgDelete"
    android:layout_toLeftOf="@+id/imgDelete" />

<Button
    android:id="@+id/imgDelete"
    style="@style/deleteButton"
    android:layout_alignParentRight="true" />

</RelativeLayout>

使用相对布局而不是线性布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lnrRow"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TextView
    android:id="@+id/txt_Profile_Name"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/imgEdit"
    android:layout_alignParentLeft="true"
    android:layout_toLeftOf="@+id/imgEdit"
    android:background="@drawable/textlines" />

<Button
    android:id="@+id/imgEdit"
    style="@style/editButton"
    android:layout_alignBaseline="@+id/imgDelete"
    android:layout_toLeftOf="@+id/imgDelete" />

<Button
    android:id="@+id/imgDelete"
    style="@style/deleteButton"
    android:layout_alignParentRight="true" />

</RelativeLayout>

使用相对布局而不是线性布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lnrRow"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TextView
    android:id="@+id/txt_Profile_Name"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/imgEdit"
    android:layout_alignParentLeft="true"
    android:layout_toLeftOf="@+id/imgEdit"
    android:background="@drawable/textlines" />

<Button
    android:id="@+id/imgEdit"
    style="@style/editButton"
    android:layout_alignBaseline="@+id/imgDelete"
    android:layout_toLeftOf="@+id/imgDelete" />

<Button
    android:id="@+id/imgDelete"
    style="@style/deleteButton"
    android:layout_alignParentRight="true" />

</RelativeLayout>



这是因为在父线性布局中,方向是水平的。因此,您只需通过垂直来更改它,并获得所需的布局。

这是因为在父线性布局中,方向是水平。因此,您只需通过垂直来更改它,并获得所需的布局。

这是因为在父线性布局中,方向是水平。因此,您只需通过垂直来更改它,并获得所需的布局。

这是因为在父线性布局中,方向是水平。因此,您只需通过垂直来更改它,并获得所需的布局。

我们可以看到editButton和deleteButton样式吗?@s1m3n我已经编辑了代码这里是编辑按钮的样式。您可以使用复合绘图,而不是只有一个子文本视图的线性布局吗?我们可以看到editButton和deleteButton吗样式?@s1m3n我编辑了代码这里是编辑按钮的样式你可以使用复合绘图而不是只有一个textview子级的线性布局吗?我们可以看到editButton和deleteButton样式吗?@s1m3n我编辑了代码这里是编辑按钮的样式你可以使用复合绘图而不是只有一个textview子级的线性布局吗textview子级?我们可以看到editButton和deleteButton样式吗?@s1m3n我已经编辑了代码这里是editButton的样式可能您可以使用复合绘图,而不是只有一个textview子级的线性布局?这将添加分隔线,但我不需要在“操作按钮”下添加分隔线。然后,我将背景从线性布局中移动到文本视图,因此只有该行将加下划线。这将添加分隔线穿过行,但我不需要在操作按钮下添加分隔线。然后,我将背景从LinearLayout移动到文本视图,因此,只有这一行将被加下划线。这将添加分隔线穿过行,但我不需要在操作按钮下添加分隔线。然后,我将背景从LinearLayout移动到TextView,因此,只有这一行将被加下划线。这将添加分隔线通过行,但我不需要在操作按钮下添加分隔线。然后,我将背景从LinearLayout移动到TextView,因此,只有这一行将被加下划线。