我在ScrollView中只有一个TextView,它可以包含不同的文本。文本的大小也总是不同的。问题是在不同的屏幕上,这个TextView可以完全放在屏幕上。我想在屏幕上垂直居中。如果文字很小,它可以正常工作。但是如果文本长度大于屏幕可以包含的长度,它只会丢失文本的开头,也会在文本出现后丢失奇怪的空白区域。我该如何解决这个问题?
textview的属性gravity
只是水平居中文本,但是layout_gravity
做了我上面描述的奇怪的事情。如果我删除layout_gravity
,则所有文字看起来都不错,但它位于滚动视图的顶部=(
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_above="@id/llbuttons"
android:layout_alignParentTop="true"
android:layout_margin="15dp" >
<TextView
android:id="@+id/textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center_vertical"
android:textSize="36sp"
android:textStyle="bold" />
</ScrollView>
答案 0 :(得分:1)
您无需ScrollView
需要在xml android:maxLines
和android:scrollbars="vertical"
中添加2个属性
<强> XML 强>
<TextView
android:id="@+id/babySitterDescTxtView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:maxLines="3"
android:paddingLeft="50dp"
android:paddingRight="50dp"
android:scrollbars="vertical"
android:text="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s."
android:textColor="@color/fragment_page_txt_color"
android:typeface="sans" />
JAVA 中的
babySitterDescTxtView = (TextView) findViewById(R.id.babySitterDescTxtView);
babySitterDescTxtView.setMovementMethod(new ScrollingMovementMethod());
答案 1 :(得分:0)
TextView可以滚动文本本身。您不需要使用ScrollView:
<TextView
android:text="Some text..."
android:id="@+id/my_textview_id"
android:textSize="20sp"
android:textColor="#FFF"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:scrollbars="vertical">
答案 2 :(得分:0)
请尝试这种方式,希望这有助于您解决问题。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp"
android:gravity="center">
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:id="@+id/textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="36sp"
android:layout_gravity="center"
android:textStyle="bold" />
</ScrollView>
<Button
android:id="@+id/llbuttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="Button"/>
</LinearLayout>