Android-Make TextView填充布局中的所有剩余空间

时间:2017-01-03 21:32:33

标签: android xml android-layout textview

我有ImageViewTextView新闻内容的新闻活动。我想让新闻内容填满所有空间。

新闻内容填满了图像视图右侧的所有空间,因此文本被放置在图片的右侧,但在图片下方则是自由空间。我决定将ImageViewTextView放在分开的线性布局中。但是,从图像填充的区域后,文本消失了。

问题显示为here

我的问题是:

  1. 如何将剩余文字放在图片视图下?

  2. 如何让照片保持高度/宽度比?

  3. 以下是XML代码:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.tutorialsbuzz.phrasebook.NewsActivity">
    
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">
    
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
            <TextView
                android:id="@+id/textViewHeaderNews"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/textViewDateNews"
                android:layout_centerHorizontal="true"
                android:layout_marginBottom="3dp"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"
                android:text="header"
                android:textColor="@color/mycolor"
                android:textSize="16dp"
                android:textStyle="bold|italic" />
    
            <LinearLayout
                android:id="@+id/newslayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/textViewHeaderNews"
                android:orientation="horizontal">
    
                <ImageView
                    android:id="@+id/imageViewNews"
                    android:layout_width="165dp"
                    android:layout_height="165dp"
                    android:layout_margin="2dp"
                    android:layout_weight="0"
                    android:scaleType="fitXY"
                    android:src="@drawable/world"/>
    
                <TextView
                    android:id="@+id/textViewContentNews"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginLeft="2dp"
                    android:layout_marginRight="2dp"
                    android:layout_marginTop="1dp"
                    android:layout_weight="1"
                    android:text="jklasdf as ;AJFWADLHF LAS HFLAF VANLASN: l galgsalgngan  ;wafasldwlaf alla lnaf alf lg;aeguewaf hwla hfnalgh wa
                    j;fklasgj;s;nva;   alsf las ps z; laszfj alsz vzlxg a lrg z;dnlxfdj glzf ;f glaerzlls az
                    ;asdjk  aF{ af[ [D{j  as ;as ; wjv a jkn da weq  g ; aeskj; g ;eakr;ja r"
                    android:textSize="14dp" />
            </LinearLayout>
    
            <TextView
                android:id="@+id/textViewDateNews"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:layout_marginRight="2dp"
                android:layout_marginTop="2dp"
                android:text="date"
                android:textSize="14dp" />
    
            <TextView
                android:id="@+id/textViewViewsNews"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_below="@+id/newslayout"
                android:layout_margin="3dp"
                android:text="views"
                android:textSize="13dp" />
    
            <TextView
                android:id="@+id/textViewRating"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_below="@+id/newslayout"
                android:layout_margin="3dp"
                android:text="rating"
                android:textSize="13dp" />
    
            <TextView
                android:id="@+id/textViewRatingNews"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignTop="@+id/spinnerRatingNews"
                android:layout_margin="4dp"
                android:layout_toLeftOf="@+id/spinnerRatingNews"
                android:text="Գնահատեք."
                android:textSize="14dp" />
    
            <Spinner
                android:id="@+id/spinnerRatingNews"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_below="@+id/textViewRating"
                android:layout_margin="3dp" />
    
        </RelativeLayout>
    </ScrollView>
    

1 个答案:

答案 0 :(得分:2)

它的解释非常复杂(无论如何)。 没有办法用xml做,但是你可以通过代码完成它,我会把你的帖子引用到我曾经想要获得相同的文件。 (将textview包装在其他视图周围)。

Read this post

上面的内容就像我使用的那样,并且有很好的功能。

您在评论中要求调整图片大小以保持其比例。

This is a post关于调整图片大小的主题。

首先检查图像是否大于X,如果是,则调整大小,使其符合您的需要。