我是android的初学者,并为我的活动XML文件编写此代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="4"
>
<ImageView
android:id="@+id/ExplainImage"
android:layout_gravity="center"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:src="@drawable/abc_btn_check_material">
</ImageView>
<TextView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/MAINLABEL"
android:layout_weight="3"
android:layout_gravity="center"
android:height="2dp" />
</LinearLayout>
并显示和工作良好,但我希望在大文本中滚动文本视图并将文本视图部分更改为:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/MAINLABEL"
android:layout_weight="3"
android:layout_gravity="center"
android:height="2dp" />
</ScrollView>
但是没有向我或图像显示文字,会发生什么?我该如何解决?谢谢。
答案 0 :(得分:0)
使用此布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/ExplainImage"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:layout_weight="0.1" >
</ImageView>
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.9">
<TextView
android:layout_width="wrap_content"
android:layout_height="10000dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/MAINLABEL"
android:layout_gravity="center"
/>
</ScrollView>
</LinearLayout>
答案 1 :(得分:0)
Scrollview只能有一个子视图。您还将TextView定义为高度为2dp,如果将其更改为此类,则应显示文本:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/MAINLABEL"
android:layout_gravity="center" />
</ScrollView>
如果您需要向Scrollview添加多个视图,可以在ViewGroup中组织它们(就像在LinearLayout中一样。
答案 2 :(得分:0)
关于你的问题有一些观点:
ScrollView应该只有一个子视图,在本例中为:LinearLayout。
Android:weight_sum和android:layout_weight用法适用于您想要在水平或垂直布局中填充屏幕的情况。这个理论并不适合你希望动态TextView在TextView中使用更大的文本和更多文本来制作大而乞讨的情况。在这种情况下,你应该使用wrap_content for android:layout_height来确保你的TextView高度是动态的并且符合你的TextView内容。
根据您的情况使用此代码段:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/ExplainImage"
android:layout_width="match_parent"
android:layout_height="wrap_parent"
android:layout_gravity="center"
android:src="@drawable/abc_btn_check_material"></ImageView>
<TextView
android:id="@+id/MAINLABEL"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:layout_gravity="center"
android:height="2dp"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
</ScrollView>
也许这个帮助。