Android text如果文本较长,则在另一行上移动text view

Android text如果文本较长,则在另一行上移动text view,android,android-layout,Android,Android Layout,我有一个RelativeLayout,其中有一个TextView具有长文本,我想添加将右对齐的ImageButton。但是如果文本较长,则图像按钮位于其顶部 我想文本视图的文本应该到下一行,如果它是长的,以便imagebutton不应该在它上面 以下是xml: <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_

我有一个
RelativeLayout
,其中有一个
TextView
具有长文本,我想添加将右对齐的
ImageButton
。但是如果文本较长,则图像按钮位于其顶部

我想文本视图的文本应该到下一行,如果它是长的,以便imagebutton不应该在它上面

以下是xml:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="15dp">
    <TextView
        android:id="@+id/tv_seminar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="SEMINAR"
        android:textColor="#322865"
        android:textSize="18sp"
        android:textStyle="bold"
        android:typeface="normal" />

    <TextView
        android:id="@+id/tv_seminarName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tv_seminar"
        android:text="Optimizing Supply Chain gsgsggdfg"
        android:textColor="#6E6E6E"
        android:textSize="14sp"
        android:textStyle="bold" />

    <ImageButton
            android:id="@+id/button_register1"
            android:layout_width="100dp"
            android:layout_height="35dp"
           android:layout_alignTop="@+id/tv_seminarName"
           android:layout_toRightOf="@+id/tv_seminarName"
            android:background="@drawable/button_register"
            android:textColor="@android:color/white" />

</RelativeLayout>


有人能帮忙吗?

你应该这样做

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp">

<LinearLayout
    android:layout_marginRight="100dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tv_seminar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="SEMINAR"
        android:textColor="#322865"
        android:textSize="18sp"
        android:textStyle="bold"
        android:typeface="normal" />

    <TextView
        android:id="@+id/tv_seminarName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Optimizing Supply Chain gsgsggdfg"
        android:textColor="#6E6E6E"
        android:textSize="14sp"
        android:textStyle="bold" />
</LinearLayout>

<ImageButton
    android:id="@+id/button_register1"
    android:layout_width="100dp"
    android:layout_height="35dp"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:background="@drawable/button_register"
    android:textColor="@android:color/white" />


你应该这样做

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp">

<LinearLayout
    android:layout_marginRight="100dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tv_seminar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="SEMINAR"
        android:textColor="#322865"
        android:textSize="18sp"
        android:textStyle="bold"
        android:typeface="normal" />

    <TextView
        android:id="@+id/tv_seminarName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Optimizing Supply Chain gsgsggdfg"
        android:textColor="#6E6E6E"
        android:textSize="14sp"
        android:textStyle="bold" />
</LinearLayout>

<ImageButton
    android:id="@+id/button_register1"
    android:layout_width="100dp"
    android:layout_height="35dp"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:background="@drawable/button_register"
    android:textColor="@android:color/white" />


制作图像按钮
android:layout\u alignParentRight=“true”
和您的文本视图

android:layout_toLeftOf="@+id/imageButton"

使ImageButton
android:layout\u alignParentRight=“true”
和您的文本视图

android:layout_toLeftOf="@+id/imageButton"

为什么不在textview中使用
maxWidth
属性,这会很有帮助

android:maxWidth="yourdp"

为什么不在textview中使用
maxWidth
属性,这会很有帮助

android:maxWidth="yourdp"

在相对布局集内,请执行以下操作:

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

    <TextView
        android:id="@+id/tv_seminar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="SEMINAR"
        android:textColor="#322865"
        android:textSize="18sp"
        android:textStyle="bold"
        android:typeface="normal" />

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

        <TextView
            android:id="@+id/tv_seminarName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tv_seminar"
            android:text="Optimizing Supply Chain gsgsggdfg  fddddddd dddddd dddddd"
            android:textColor="#6E6E6E"
            android:textSize="14sp"
            android:textStyle="bold"
            android:layout_weight="8" />

        <ImageButton
            android:id="@+id/button_register1"
            android:layout_width="100dp"
            android:layout_height="35dp"
            android:layout_alignTop="@+id/tv_seminarName"
            android:layout_toRightOf="@+id/tv_seminarName"
            android:background="@drawable/button_register"
            android:textColor="@android:color/white"
            android:layout_weight="2" />
    </LinearLayout>

</LinearLayout>


使用权重总和和布局权重调整相对布局集中的..

,如下所示:

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

    <TextView
        android:id="@+id/tv_seminar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="SEMINAR"
        android:textColor="#322865"
        android:textSize="18sp"
        android:textStyle="bold"
        android:typeface="normal" />

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

        <TextView
            android:id="@+id/tv_seminarName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tv_seminar"
            android:text="Optimizing Supply Chain gsgsggdfg  fddddddd dddddd dddddd"
            android:textColor="#6E6E6E"
            android:textSize="14sp"
            android:textStyle="bold"
            android:layout_weight="8" />

        <ImageButton
            android:id="@+id/button_register1"
            android:layout_width="100dp"
            android:layout_height="35dp"
            android:layout_alignTop="@+id/tv_seminarName"
            android:layout_toRightOf="@+id/tv_seminarName"
            android:background="@drawable/button_register"
            android:textColor="@android:color/white"
            android:layout_weight="2" />
    </LinearLayout>

</LinearLayout>


使用weightSum和layout\u weight来调整..

而不是在文本视图中使用图像按钮上的android:layout\u Lightof,用户
android:layout\u ToRefTof

去掉这个

android:layout_toRightOf="@+id/tv_seminarName"
将此添加到您的textView tv\u seminarName中

android:layout_toLeftOf="@+id/button_register1"
将其添加到imageView中

android:layout_alignParentRight="true"

用户在文本视图中使用android:layout\u-toLeftOf而不是在imagebutton上使用
android:layout\u-toLeftOf

去掉这个

android:layout_toRightOf="@+id/tv_seminarName"
将此添加到您的textView tv\u seminarName中

android:layout_toLeftOf="@+id/button_register1"
将其添加到imageView中

android:layout_alignParentRight="true"

我会先设置图像按钮。然后将文本视图与其左侧对齐。这应该“锚定”ImageButton,并让TextView不增加高度。另外,在引用现有ID时去掉+号。我首先设置ImageButton。然后将文本视图与其左侧对齐。这应该“锚定”ImageButton,并让TextView不增加高度。另外,在引用现有ID时要去掉+号。