【问题标题】:Text in singleLine TextView inside ListView inside HorizontalScrollView is cut offHorizo​​ntalScrollView 内 ListView 内的 singleLine TextView 中的文本被截断
【发布时间】:2017-06-24 01:48:08
【问题描述】:

我现在尝试了几个小时来解决以下问题,我搜索并应用了我在这里和其他网站上找到的方法,但结果仍然很糟糕。请看以下截图:Screenshot of cut off text

这是我的 xml 部分:

<HorizontalScrollView
    android:layout_width="367dp"
    android:layout_height="355dp"
    android:layout_marginLeft="0dp"
    android:layout_marginRight="0dp"
    android:layout_marginTop="8dp"
    android:fillViewport="true"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/btn_search">

    <ListView
        android:id="@+id/listView_results"
        style="@android:style/Widget.DeviceDefault.Light.ListView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginEnd="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="16dp"
        android:background="@android:color/black"
        android:clickable="true"
        android:divider="@android:color/holo_orange_light"
        android:dividerHeight="1dp"
        android:scrollbars="horizontal|vertical"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/btn_search" />
</HorizontalScrollView>

这就是我写在我的 Java 文件中的内容:

`

            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, titleList) {

            @Override                
            public View getView(int position, View convertView, ViewGroup parent){

            // Get the Item from ListView

            View view = super.getView(position, convertView, parent);
            TextView tv = (TextView) view.findViewById(android.R.id.text1);

            // Set the text size in ListView for each item
            tv.setTextSize(TypedValue.COMPLEX_UNIT_DIP,40);
            tv.setSingleLine(true);
            tv.setMaxLines(1);
            tv.setHorizontallyScrolling(true);
            tv.setHorizontalScrollBarEnabled(true);
            //tv.setEllipsize(MARQUEE);
            //tv.setMarqueeRepeatLimit(1000);


            // Return the view
            return view;
        }
    };`

如您所见,我已经尝试了选取框选项,但它没有显示任何效果。 如果他/她知道在哪里阅读可能的解决方案,任何人都可以,因为我找到的资源根本无法帮助我。如果您有任何建议,我很乐意阅读。我要提前感谢任何人的帮助。这是一个大学项目,也是我的第一个 Android 应用程序 - 这里和那里有些复杂 ^^。

我想知道 TextView 或 ListView 或 Horizo​​ntalScollView 是否有宽度限制,如果有的话,如果可以的话,可以在哪里扩展。

干杯 杜里姆

【问题讨论】:

    标签: android listview textview horizontalscrollview


    【解决方案1】:

    我现在找到了答案。

    Horizo​​ntalScrollView 正在创建一个可滚动容器,其宽度与我的 ListView 的第一个条目的宽度完全相同。

    我找到的解决方案:

    1) 您将最长的行放在列表中的第一位(取决于使用的字体系列,它仍然可能会产生问题)。

    2) 我将 ListView 中所有 TextView 的字体系列设置为“MONOSPACE”,并在第一行添加了空格“”以使其字符数等于最长行的字符数。

    我希望有一天这对任何人都有帮助。如果您对此主题有任何疑问,请告诉我。 干杯

    【讨论】:

      【解决方案2】:

      试试

      android:layout_width="wrap_content"

      在列表视图中。

      【讨论】:

      • 您好,不幸的是它没有帮助。我还尝试将 textViews 中的 layout_width 设置为“wrap_content”,但没有发现任何变化。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-04
      • 1970-01-01
      • 2014-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-08
      相关资源
      最近更新 更多