我有一个文本视图和图像视图在同一行的布局。
如果文本太长,它会覆盖imageview。
我使用布局作为包装内容。
知道怎么修吗?
我不想指定像素宽度。
问题是@+id/showRecipe的RecipeName ID和@+id/showRecipe的OptimeImageViewID
以下是XML:

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


    <RelativeLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/ShowRecipe_RecipeNameId"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/ShowRecipe_PTimeImageViewId"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="5dp"
            android:textColor="@color/header_orange"
            android:text="RecipeName"
            android:textSize="21dip" />

        <TextView
            android:id="@+id/ShowRecipe_AuthorId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/ShowRecipe_RecipeNameId"
            android:layout_below="@+id/ShowRecipe_RecipeNameId"
            android:layout_alignTop="@+id/ShowRecipe_DifficultyImageViewId"
            android:textColor="@color/author_blue"
            android:text="Author"
            android:textSize="21dip" />

        <ImageView
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:src="@drawable/add_to_favourite"
            android:layout_alignParentRight="true"
            android:layout_marginTop="5dp"
            android:layout_marginRight="5dp"
            android:id="@+id/addRemoveFromFavouritesImageViewId" />

<!--    <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/refresh_button"
            android:id="@+id/ShowRecipe_RefreshImageViewId"
            android:layout_alignTop="@+id/addRemoveFromFavouritesImageViewId"
            android:layout_toLeftOf="@+id/addRemoveFromFavouritesImageViewId"
            android:layout_marginRight="5dp" /> -->

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/rate_recipe_button"
            android:id="@+id/ShowRecipe_RateImageViewId"
            android:layout_toLeftOf="@+id/addRemoveFromFavouritesImageViewId"
            android:layout_alignTop="@+id/addRemoveFromFavouritesImageViewId"
            android:layout_marginRight="5dp" />

        <ImageView
            android:src="@drawable/time_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/ShowRecipe_RateImageViewId"
            android:layout_alignRight="@+id/addRemoveFromFavouritesImageViewId"
            android:layout_marginTop="10dp"
            android:id="@+id/ShowRecipe_PTimeImageViewId" />

        <ImageView
            android:src="@drawable/difficulty_hard_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/ShowRecipe_PTimeImageViewId"
            android:layout_alignLeft="@+id/ShowRecipe_PTimeImageViewId"
            android:layout_marginTop="5dp"
            android:id="@+id/ShowRecipe_DifficultyImageViewId" />

    </RelativeLayout>


    <TabHost
        android:id="@android:id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/ShowRecipe_RatingBarId" >

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

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:padding="5dp"
                android:layout_height="match_parent"
                android:layout_width="match_parent"
                android:layout_weight="1" />

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/recipe_book_tabs_bg"
                android:layout_gravity="bottom" />
        </LinearLayout>
    </TabHost>

</LinearLayout>

最佳答案

我认为,将这个android:layout_toLeftOf="@+id/ShowRecipe_PTimeImageViewId"放到textview上,并使这个textview宽度填充父视图,就能解决这个问题。我修改了XML。请检查:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/main_bg">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/ShowRecipe_RecipeNameId"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignTop="@+id/ShowRecipe_PTimeImageViewId"
            android:layout_marginLeft="5dp"
            android:text="RecipeName"
            android:layout_toLeftOf="@+id/ShowRecipe_PTimeImageViewId"
            android:layout_alignLeft="@+id/ShowRecipe_PTimeImageViewId"
            android:textSize="21dip" />

        <TextView
            android:id="@+id/ShowRecipe_AuthorId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/ShowRecipe_RecipeNameId"
            android:layout_alignTop="@+id/ShowRecipe_DifficultyImageViewId"
            android:layout_below="@+id/ShowRecipe_RecipeNameId"
            android:text="Author"
            android:textSize="21dip" />

        <ImageView
            android:id="@+id/addRemoveFromFavouritesImageViewId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="5dp"
            android:layout_marginTop="5dp"
            android:src="@drawable/icon" />

        <!--
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/refresh_button"
            android:id="@+id/ShowRecipe_RefreshImageViewId"
            android:layout_alignTop="@+id/addRemoveFromFavouritesImageViewId"
            android:layout_toLeftOf="@+id/addRemoveFromFavouritesImageViewId"
            android:layout_marginRight="5dp" />
        -->

        <ImageView
            android:id="@+id/ShowRecipe_RateImageViewId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/addRemoveFromFavouritesImageViewId"
            android:layout_marginRight="5dp"
            android:layout_toLeftOf="@+id/addRemoveFromFavouritesImageViewId"
            android:src="@drawable/icon" />

        <ImageView
            android:id="@+id/ShowRecipe_PTimeImageViewId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignRight="@+id/addRemoveFromFavouritesImageViewId"
            android:layout_below="@+id/ShowRecipe_RateImageViewId"
            android:layout_marginTop="10dp"
            android:src="@drawable/icon" />

        <ImageView
            android:id="@+id/ShowRecipe_DifficultyImageViewId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/ShowRecipe_PTimeImageViewId"
            android:layout_below="@+id/ShowRecipe_PTimeImageViewId"
            android:layout_marginTop="5dp"
            android:src="@drawable/icon" />
    </RelativeLayout>
    <TabHost
        android:id="@android:id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/ShowRecipe_RatingBarId" >

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

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:padding="5dp" />

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                 />
        </LinearLayout>
    </TabHost>
</LinearLayout>

08-17 16:31