Horizo​​ntalScrollView垂直滚动

时间:2017-12-10 22:53:20

标签: android android-linearlayout horizontalscrollview

我在水平HorizontalscrollView内有LinearLayout,由于某种原因我只能垂直滚动。在某处我读到它需要在水平LinearLayout内,但它仍然没有解决问题。帮助很多人赞赏。感谢..

以下是代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#deefed"
    android:orientation="vertical"
    android:padding="16dp">

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Textview"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textStyle="bold" />

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

    <HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:digits="0123456789."
            android:ems="10"
            android:hint="edittext"
            android:inputType="number|numberDecimal"
            android:maxLines="1" />
    </HorizontalScrollView>

    <Spinner
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </Spinner>

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

您的EditText垂直滚动,而不是HorizontalScrollView

如果您希望文本仅以水平方式进行更改:

<EditText
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:digits="0123456789."
     android:ems="10"
     android:hint="edittext"
     android:inputType="number|numberDecimal"
     android:scrollHorizontally="true"
     android:singleLine="true"
     android:maxLines="1" />

添加

android:scrollHorizontally="true"
android:singleLine="true"

它会保持单行并且会水平滚动。

答案 1 :(得分:0)

如果我弄错了,你想要在EditText中水平滚动你的文字。我认为你不需要水平滚动视图,只需在EditText中使用 android:singleLine =“true”即可解决问题。

android:maxLines是如此令人困惑,因为它做了一些非常不同的事情。它只设置EditText的垂直视图边界,以便一次显示尽可能多的行,如android:maxLines =“5”将在EditText视图中一次显示5行。

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#deefed"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Textview"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textStyle="bold" />

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

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:digits="0123456789."
            android:ems="10"
            android:hint="edittext"
            android:inputType="number|numberDecimal"
            android:singleLine="true" />

        <Spinner
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        </Spinner>

    </LinearLayout>
</LinearLayout>