Тест textview Android находится на другом интерфейсе - PullRequest
2 голосов
/ 18 января 2012

У меня есть макет с видом текста и изображением в одной строке.

Если текст слишком длинный, он переходит на просмотр изображения.Я использую макет как wrap_content.

Есть идеи, как это исправить?

Я хочу сделать это без указания ширины в пикселях.

Проблема с @ + id/ ShowRecipe_RecipeNameId и @ + id / ShowRecipe_PTimeImageViewId Вот 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>

Ответы [ 3 ]

1 голос
/ 18 января 2012

используйте тег веса макета в вашем изображении и текстовом представлении.

или используйте относительный макет.где вы можете сказать, где он должен быть расположен.

1 голос
/ 19 января 2012

Я думаю, что, поместив это android:layout_toLeftOf="@+id/ShowRecipe_PTimeImageViewId" в TextView и установив ширину TextView в fill_parent, вы решите проблему. Я изменил 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>
1 голос
/ 18 января 2012

Вы можете сделать его относительным или вертикальным.

Или используйте dp вместо px, потому что dp масштабируется относительно включенного экрана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...