将Horizo​​ntalScrollView中的TextView设置为右侧

时间:2016-08-18 07:52:28

标签: android textview horizontalscrollview

我有一个简单的结构; Scrollview中的TextView,但我不能让它按照我想要的方式工作。

我现在遇到的问题;

  • 当TextView大于屏幕宽度时,ScrollView会保持扩展,即使我将TextView的文本设置为空。
  • TextView位于左侧。

我得到了以下内容:

       <HorizontalScrollView
            android:layout_weight="1"

            android:layout_width="match_parent"
            android:layout_height="match_parent"

            android:fillViewport="true"
            android:layout_gravity="right"

            android:background="@drawable/background_scrollviews_display"

            android:id="@+id/scrollViewSum">

            <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="match_parent"

                android:layout_gravity="right">

                <TextView
                    style="@style/TextStyleDisplay"
                    android:textSize="@dimen/fontSizeTextViewSum"

                    android:paddingLeft="@dimen/paddingDisplayTextViews"
                    android:paddingRight="@dimen/paddingDisplayTextViews"

                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_gravity="right"
                    android:gravity="right|center"

                    android:id="@+id/textViewSum"/>

            </LinearLayout>
        </HorizontalScrollView>

我想要的东西;

  • 右侧的TextView;
  • ScrollView仅在TextView大于屏幕宽度时展开;

我尝试了很多,但我找不到合适的解决方案。

我希望有人可以帮助我!

3 个答案:

答案 0 :(得分:0)

制作textview width wrap_content

答案 1 :(得分:0)

我有硬编码的内容,如填充和文字大小等,因为我没有你的尺寸,你可以根据你的要求更改它。

检查以下代码snipet是否有帮助。

<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollViewSum"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:fillViewport="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/textViewSum"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="right|center"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:text="ldksjfkdlfkfldksjfkdlfkf"
            android:textSize="20sp" />
    </LinearLayout>
</HorizontalScrollView>

答案 2 :(得分:0)

我有两条线索来解决你的问题:

1)使LinearLayout方向垂直,然后您可以将TextView放在右侧

<LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent"

            android:layout_gravity="right">

            <TextView
                style="@style/TextStyleDisplay"
                android:textSize="@dimen/fontSizeTextViewSum"

                android:paddingLeft="@dimen/paddingDisplayTextViews"
                android:paddingRight="@dimen/paddingDisplayTextViews"

                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="right"
                android:gravity="right|center"

                android:id="@+id/textViewSum"/>

        </LinearLayout>

2)使TextView wrap_content而不是match_parent

<TextView
                style="@style/TextStyleDisplay"
                android:textSize="@dimen/fontSizeTextViewSum"

                android:paddingLeft="@dimen/paddingDisplayTextViews"
                android:paddingRight="@dimen/paddingDisplayTextViews"

                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_gravity="right"
                android:gravity="right|center"

                android:id="@+id/textViewSum"/>