【问题标题】:Horizontal Scrollable Textview inside ListView ItemsListView 项目内的水平可滚动文本视图
【发布时间】:2018-06-10 16:12:47
【问题描述】:

我的 ListView 项目中有一个 TextView(第二个)。当侧面的文本不适合所需的 maxHeight (250dp) 时,用户应该能够水平滚动它。我用 Horizo​​ntalScrollView 试过了,但似乎不起作用。任何人都可以解决我的问题? (这些项目被风格化为卡片,所以层次结构可能看起来很奇怪)

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/transparent"
    android:cacheColorHint="@android:color/transparent"
    android:descendantFocusability="blocksDescendants"
    android:paddingLeft="15dp"
    android:paddingRight="15dp"
    android:paddingTop="10dp">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="90dp"
    android:background="@drawable/card_background_selector"
    android:orientation="vertical"
    android:descendantFocusability="blocksDescendants"
    android:paddingBottom="15dp"
    android:paddingLeft="15dp"
    android:paddingRight="15dp"
    android:paddingTop="15dp">

    <RelativeLayout
        android:layout_width="255dp"
        android:layout_height="61dp"
        android:descendantFocusability="blocksDescendants">

        <TextView
            android:id="@+id/question"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="5dp"
            android:text="1248$"
            android:textColor="#000000"
            android:textSize="18sp"
            android:textStyle="bold" />

        <HorizontalScrollView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true">

            <TextView
                android:id="@+id/answer"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentStart="true"
                android:maxWidth="250dp"
                android:scrollHorizontally="true"
                android:scrollbars="horizontal"
                android:singleLine="true"
                android:text="Some looooooooooooooooooooooooooooong Text"
                android:textColor="#000000"
                android:textSize="15sp" />
        </HorizontalScrollView>

    </RelativeLayout>
</FrameLayout>

【问题讨论】:

    标签: android listview textview scrollview


    【解决方案1】:

    你可以在不使用ScrollView的情况下滚动到你的TextView,你可以添加

    android:scrollbars = "Horizontal" 到您的 TextView,然后在您的代码中添加

    yourTextView.setMovementMethod(new ScrollingMovementMethod());
    

    【讨论】:

      【解决方案2】:

      我不确定这是否是正确的方法。但以下两种方法对我来说适用于相同的要求。

      1. 给出足够大的宽度,例如,你可以有 3000dp 的值。

      或者

      1. 根据您可能要填充的字符串的长度动态更改 textView 的宽度。
      LinearLayout.LayoutParams widthHeightParams = new LinearLayout.LayoutParams(20,2000);
      mTextView.setLayoutParams(widthHeightParams);  
      

      试试看

      【讨论】:

      • 1.你的意思是给文本视图这么大的宽度?不幸的是它不起作用:( 2.我不能这样做,因为视图会扩展到我的另一个视图(图像视图)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-27
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多