Android自定义行布局问题

Android自定义行布局问题,android,android-layout,android-linearlayout,Android,Android Layout,Android Linearlayout,对不起,事先我需要包括一些图片,使我的问题更容易理解。我正在为我的自定义行使用线性布局,这给了我很多麻烦,试图让这些行看起来像我想要的那样。现在看起来是这样的 请原谅我即将展示的快速绘制图片,但这是我希望布局的外观 我想在狗图片的上方添加名称文本框,在1和2的上方添加时间戳文本框。每当我试图添加文本框来显示这一点时,它确实会弄乱布局。狗狗图片上方的文本框总是希望转到狗狗图像的右侧或左侧,并将图像推到页面中间,按钮会进一步展开。我没有太多的经验,这种布局我通常做相对布局,我可以拖放件。非常感谢

对不起,事先我需要包括一些图片,使我的问题更容易理解。我正在为我的自定义行使用线性布局,这给了我很多麻烦,试图让这些行看起来像我想要的那样。现在看起来是这样的

请原谅我即将展示的快速绘制图片,但这是我希望布局的外观

我想在狗图片的上方添加名称文本框,在1和2的上方添加时间戳文本框。每当我试图添加文本框来显示这一点时,它确实会弄乱布局。狗狗图片上方的文本框总是希望转到狗狗图像的右侧或左侧,并将图像推到页面中间,按钮会进一步展开。我没有太多的经验,这种布局我通常做相对布局,我可以拖放件。非常感谢您的任何建议或帮助

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

<ImageButton
    android:layout_width="150dip"
    android:layout_height="150dip"
    android:id="@+id/dogimage"
    android:clickable="true"
    android:layout_alignParentLeft="true"

    android:background="@drawable/dogpic"
    android:onClick="sendProfile"
    android:scaleType="fitXY" />

<ImageButton
    android:layout_width="75dip"
    android:layout_height="75dip"
    android:id="@+id/dog1num1"
    android:background="@drawable/num1"
    android:clickable="true"
    android:onClick="NumberOne"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="75dp"
    android:scaleType="fitXY" />

<ImageButton
    android:layout_width="75dip"
    android:layout_height="75dip"
    android:id="@+id/dog1num2"
    android:background="@drawable/num2"
    android:clickable="true"
    android:onClick="NumberTwo"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="75dp"
    android:scaleType="fitXY" />
</LinearLayout>

您需要将imageview/textview组合包装在线性布局中。您应该使用src而不是background设置imageButton。这样做:

<?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="match_parent"
    android:orientation="vertical">

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

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

        <ImageButton
            android:id="@+id/dogimage"
            android:layout_width="150dip"
            android:layout_height="150dip"
            android:clickable="true"
            android:onClick="sendProfile"
            android:scaleType="fitXY"
            android:src="@drawable/dogpic" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Timestamp 1" />

            <ImageButton
                android:id="@+id/dog1num1"
                android:layout_width="75dip"
                android:layout_height="75dip"
                android:layout_marginLeft="10dp"
                android:clickable="true"
                android:onClick="NumberOne"
                android:scaleType="fitXY"
                android:src="@drawable/num1" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Timestamp 1" />

            <ImageButton
                android:id="@+id/dog1num2"
                android:layout_width="75dip"
                android:layout_height="75dip"
                android:layout_marginLeft="10dp"
                android:clickable="true"
                android:onClick="NumberOne"
                android:scaleType="fitXY"
                android:src="@drawable/num2" />

        </LinearLayout>

    </LinearLayout>
</LinearLayout>

您需要将imageview/textview组合包装在线性布局中。您应该使用src而不是background设置imageButton。这样做:

<?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="match_parent"
    android:orientation="vertical">

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

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

        <ImageButton
            android:id="@+id/dogimage"
            android:layout_width="150dip"
            android:layout_height="150dip"
            android:clickable="true"
            android:onClick="sendProfile"
            android:scaleType="fitXY"
            android:src="@drawable/dogpic" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Timestamp 1" />

            <ImageButton
                android:id="@+id/dog1num1"
                android:layout_width="75dip"
                android:layout_height="75dip"
                android:layout_marginLeft="10dp"
                android:clickable="true"
                android:onClick="NumberOne"
                android:scaleType="fitXY"
                android:src="@drawable/num1" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Timestamp 1" />

            <ImageButton
                android:id="@+id/dog1num2"
                android:layout_width="75dip"
                android:layout_height="75dip"
                android:layout_marginLeft="10dp"
                android:clickable="true"
                android:onClick="NumberOne"
                android:scaleType="fitXY"
                android:src="@drawable/num2" />

        </LinearLayout>

    </LinearLayout>
</LinearLayout>


感谢您,我从未想到过使用多个线性布局的格式设置解决方案。我将它们作为背景,因为按src操作使按钮周围有一个灰色边框。对于灰色边框,请使用android:background=“?attr/selectableItemBackground”感谢您,该解决方案适用于使用多个线性布局时我从未想到过的格式设置。我将它们作为背景,因为按src操作使按钮周围有一个灰色边框。对于灰色边框,请使用android:background=“?attr/selectableItemBackground”