我在应用程序中遇到了一些布局问题。在将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>