29

私は電卓に取り組んでいます。デフォルトのAndroid計算では、テキストビューを水平方向にスクロールできることに気付きました。ドキュメントを調べて属性を見つけましたandroid:scrollHorizontallyが、テキストビューに追加した後も水平スクロールを実行できません。ドキュメントにそれ以上の情報がないため、attrを追加するだけで十分だと思います。これは、電卓のテキストビューです。

    <TextView android:id="@+id/edit_text"
        android:layout_width="0dip"
        android:layout_height="match_parent"
        android:layout_weight=".8"
        android:singleLine="true"
        android:scrollHorizontally="true"
        android:gravity="center|right"
        android:text="0" />

文字がテキストビューの幅を超えると、文字列がトリミングされ、最後に...が表示されます。私は何が間違っているのですか?

4

4 に答える 4

45
<HorizontalScrollView android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView android:layout_width="40dp"
        android:layout_height="wrap_content"
        android:scrollHorizontally="true"
        android:text="Horizontal scroll view will work now"/>

</HorizontalScrollView>

これは、textviewを水平方向にスクロールさせる方法です。

于 2012-12-31T06:01:14.553 に答える
8

私は少し遅れていますが、追加せずに同じ結果を達成することができましたHorizontalScrollView

EditTextTextViewスクロールと選択をサポートするように拡張されます。EditTextしたがって、をとして使用できますTextView(タッチ、フォーカス、カーソルは無効になります)。

<EditText
    android:id="@+id/edit_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/transparent" --> This remove that line at the bottom
    android:clickable="false" --> It can be true if you need to handle click events
    android:cursorVisible="false" --> Hide the cursor
    android:focusable="false" --> Disable focus
    android:singleLine="true"
    android:text="This is a very long text that won't be possible to display in a single line"/>

さまざまなデバイスでテストすることができません...他の人に役立つ可能性があるため、共有しているだけです。

于 2019-06-11T16:49:26.573 に答える
7

これを使うだけ

   textview.setMovementMethod(new ScrollingMovementMethod());
   textview.setHorizontallyScrolling(true);
于 2020-08-14T07:48:42.987 に答える
2

おそらく遅い答えですが、TextViewを双方向にスクロールさせることは可能です。scrollHorizontallyXMLやコードでプロパティを設定する必要はありません。

次のコードは、テキストコンテンツに基づいて、1行または複数行のTextViewを垂直方向と水平方向の両方にスクロールさせます。

<HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/toolbar"
        android:scrollbars="none">

        <ScrollView
            android:id="@+id/scroll_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:scrollbars="none">

            <androidx.appcompat.widget.AppCompatTextView
                android:id="@+id/text_content"
                fontPath="fonts/roboto_medium.ttf"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="@color/primary_text"
                android:textSize="14sp" />

        </ScrollView>
</HorizontalScrollView>

とがに設定されていることに注意してlayout_widthください。の幅は、またはのいずれかになり、効果はありません。ScrollViewTextViewwrap_contentHorizontalScrollViewwrap_contentmatch_parent

于 2019-07-18T11:25:59.817 に答える