0

我对Android很陌生。我想在右下角的列表视图项目模板中添加两个按钮。

现在我有这样的布局: 现有布局

和代码:

<ImageView
    android:id="@+id/icon"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="6dip"
    android:src="@drawable/ic_launcher" />

<TextView
    android:id="@+id/secondLine"
    android:layout_width="fill_parent"
    android:layout_height="26dip"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_toRightOf="@id/icon"
    android:ellipsize="marquee"
    android:singleLine="true"
    android:text="Details"
    android:textSize="12sp" />

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/secondLine"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_alignWithParentIfMissing="true"
    android:layout_toRightOf="@id/icon"
    android:gravity="center_vertical"
    android:text="Test title"
    android:textSize="16sp" />

我想要实现的是在右下角添加两个按钮,如下所示:

预期的

我还尝试放入RelativeLayout然后LinearLayout再添加一个子元素LinearLayout,该按钮将其水平对齐,但 listview 项目行根本不显示它们。

4

5 回答 5

0
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp">

    <ImageView 
        android:layout_width="50dp"
        android:layout_height="50dp" 
        android:scaleType="fitXY"
        android:adjustViewBounds="true"
        android:src="@drawable/ic_launcher"/>

    <LinearLayout 
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:gravity="center_vertical"
        android:orientation="vertical">

        <TextView 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Title"/>

        <TextView 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:text="Description"/>
        </LinearLayout>

</LinearLayout>

<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="right|center_vertical">

    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:text="Button2"/>

     <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:padding="5dp"
        android:text="Button1"/>
</LinearLayout>
</LinearLayout>
于 2013-09-04T09:00:27.023 回答
0

使用下面的代码进行所需的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#DADADA" >

    <RelativeLayout
        android:id="@+id/ItemMainContainer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:padding="5dp" >

        <ImageView
            android:id="@+id/Icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/image" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_toRightOf="@id/Icon"
            android:orientation="vertical" >

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Test title" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Details" />
        </LinearLayout>
    </RelativeLayout>

    <View
        android:id="@+id/HorizontalSeparator"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_below="@id/ItemMainContainer"
        android:layout_margin="5dp"
        android:background="#CCCCCC" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/HorizontalSeparator"
        android:layout_margin="2dp" >

        <TextView
            android:id="@+id/Button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_margin="5dp"
            android:clickable="true"
            android:drawableLeft="@drawable/delete"
            android:gravity="center"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:text="Button2" />

        <View
            android:id="@+id/Separator"
            android:layout_width="1dp"
            android:layout_height="27dp"
            android:layout_toLeftOf="@id/Button2"
            android:background="#CCCCCC" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:layout_toLeftOf="@id/Separator"
            android:clickable="true"
            android:drawableLeft="@drawable/delete"
            android:gravity="center"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:text="Button1" />
    </RelativeLayout>

</RelativeLayout>

我还附上了结果的屏幕截图。截屏

相应地更改资产。

于 2013-08-30T09:05:16.870 回答
0

如果我理解你,你需要每个列表项右下角的按钮。如果是这样,以下内容将为您工作:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/MainLayout"
android:layout_width="fill_parent"
android:layout_height= "fill_parent">
   <RelativeLayout
         android:id="@+id/FirstLayout"
         android:layout_width="fill_parent"
         android:layout_height= "fill_parent">
           <ImageView
               android:id="@+id/icon"
               android:layout_width="wrap_content"
               android:layout_height="fill_parent"
               android:layout_alignParentBottom="true"
               android:layout_alignParentTop="true"
               android:layout_marginRight="6dip"
               android:src="@drawable/ic_launcher" />

           <TextView
               android:id="@+id/secondLine"
               android:layout_width="fill_parent"
               android:layout_height="26dip"
               android:layout_alignParentBottom="true"
               android:layout_alignParentRight="true"
              android:layout_toRightOf="@id/icon"
               android:ellipsize="marquee"
               android:singleLine="true"
               android:text="Details"
               android:textSize="12sp" />

           <TextView
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:layout_above="@id/secondLine"
               android:layout_alignParentRight="true"
               android:layout_alignParentTop="true"
               android:layout_alignWithParentIfMissing="true"
               android:layout_toRightOf="@id/icon"
               android:gravity="center_vertical"
               android:text="Test title"
               android:textSize="16sp" />
     </RelativeLayout>
     <RelativeLayout
         android:id="@+id/SecondLayout"
         android:layout_below="@+id/FirstLayout"
         android:layout_width="fill_parent"
         android:layout_height= "fill_parent">
              <Button 
                  android:id="@+id/btnTwo"
                  android:text ="Button Two"
                  android:layout_alignParentRight="true"/>
              <Button 
                  android:id="@+id/btnOne"
                  android:text ="Button One"
                  android:layout_toLeftOf="@+id/btnTwo"/>
      </RelativeLayout>
</RelativeLayout>

祝你好运!

于 2013-08-30T08:20:48.583 回答
0

如果我没记错的话,您正在寻找组件的对齐调整。您已经使用了android:layout_alignParentXXXXlayout_above/below属性。请做一些改变,你会得到想要的。

我已经检查了以下代码,这可能会对您有所帮助。

<?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="match_parent" >

    <RelativeLayout
        android:id="@+id/rel2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/lin1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true" >
// here place you existing code
    </RelativeLayout>

    <LinearLayout
        android:id="@+id/lin1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true" >

        <Button
            android:id="@+id/button1"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

        <Button
            android:id="@+id/button2"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />
    </LinearLayout>

</RelativeLayout>
于 2013-08-30T09:34:42.573 回答
-1

您可以使用此代码

<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="wrap_content"
android:gravity="right"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/icon"
        android:gravity="center_vertical"
        android:text="Test title"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/secondLine"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/title"
        android:layout_toRightOf="@id/icon"
        android:singleLine="true"
        android:text="Details"
        android:textAppearance="?android:attr/textAppearanceSmall" />
</RelativeLayout>

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="#000000"
    android:layout_marginLeft="2dp" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1" />

    <View
        android:layout_width="1dp"
        android:layout_height="match_parent"
        android:background="#000000"
       android:layout_marginLeft="2dp" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button2" />
</LinearLayout>

根据您的需要修改代码

于 2013-08-30T08:18:59.100 回答