动态更改后的布局覆盖另一个布局



我在应用程序中遇到了一些布局问题。在将TextView的文本(动态地)更改为一些长文本后,它覆盖了我的TableLayout。希望你能帮助我确定如何移动TableLayout到可见范围。

乌利希期刊指南。我的错,我没有定义我改变了哪个TextView。它的TextView上面的TableLayout与id = TextView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.home.myapp1.MainActivity"
    android:orientation="vertical">
    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        android:text="Hello world!"
        android:singleLine="false"/>
    <TableLayout android:layout_marginTop="10dp"
        android:id="@+id/table"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="*">
        <TableRow android:padding="5dp">
            <TextView android:text="Валюта" android:gravity="center_horizontal"/>
            <TextView android:text="Покупка" android:gravity="center_horizontal"/>
            <TextView android:text="Продажа" android:gravity="center_horizontal"/>
        </TableRow>
    </TableLayout>
</LinearLayout>

尝试权重和单行textview像这样........

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 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"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:orientation="vertical">
        <TextView
            android:id="@+id/textView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scrollbars="vertical"
            android:text="Hello world!"
            android:singleLine="false"/>
        <TableLayout android:layout_marginTop="10dp"
            android:id="@+id/table"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:stretchColumns="*">
            <TableRow android:padding="5dp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="3">
                <TextView android:text="Валюта"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:maxLines="1"
                    android:layout_weight="1" android:gravity="center_horizontal"/>
                <TextView
                    android:text="Покупка"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:maxLines="1"
                    android:gravity="center_horizontal"/>
                <TextView android:text="Продажа"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:maxLines="1"
                    android:gravity="center_horizontal"/>
            </TableRow>
        </TableLayout>
    </LinearLayout>

* *在这里* *

 android:maxLines="1"

用于视图是使好,如果你不给这个布局视图使坏,当textview长度许多字…或者你也可以给textview

长度

我尝试使用给定的布局xml并动态更改textview的文本(为了测试目的,我更改了按钮点击上的文本,我将其放置在TableLayout下面),但它工作得很好,直到和除非textview覆盖整个屏幕高度。如果你的textview没有限制,那么应该使用ScrollView作为你布局的父元素。所以尝试用下面的内容替换你的xml内容,它可能会解决你的问题:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.home.myapp1.MainActivity"
    android:orientation="vertical">
    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        android:text="Hello world!"
        android:singleLine="false"/>
    <TableLayout android:layout_marginTop="10dp"
        android:id="@+id/table"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="*">
        <TableRow android:padding="5dp">
            <TextView android:text="Валюта"   android:gravity="center_horizontal"/>
            <TextView android:text="Покупка" android:gravity="center_horizontal"/>
            <TextView android:text="Продажа" android:gravity="center_horizontal"/>
        </TableRow>
    </TableLayout>
</LinearLayout>
</ScrollView>

最新更新