【问题标题】:Large text coming wrapped in a Textview包含在 Textview 中的大文本
【发布时间】:2013-07-09 13:54:31
【问题描述】:

这是预期的结果-----

第一个文本视图:

福克斯专业版

拖动

主视图项

这就是即将到来的-----

和其他文本视图:

福克斯专业版

拖动

主视图
项目

因此,如果文本足够长到某个限制,它将被包裹在下一行中。

请注意,问题仅出现在更高 ppi 的 7 英寸设备(~213 ppi)中。

同样的事情在较低 ppi 的 7 英寸设备(~160 ppi)中也很好。

我尝试以编程方式执行以下操作, 将宽度设置为完整match_parent--------

DisplayMetrics dm = new DisplayMetrics();

            // Display device dpi value of Y in pixels
            int screenDPIy = (int)dm.ydpi;

            if(screenDPIy > 180)
            {
                entrytype.setTextSize(14);
                entrydate.setTextSize(12);

                entrytype.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
                entrydate.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));

            }
            else
            {
                entrytype.setTextSize(16);
                entrydate.setTextSize(14);
            }

没有成功。

我的布局 xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/mapentrieslist"
        android:layout_width="match_parent"
        android:layout_height="58dp"
        android:background="@drawable/selector"
        android:gravity="left|center_vertical"
        android:orientation="horizontal" >


        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginTop="4dp"
            android:layout_weight="0.9"
            android:orientation="horizontal"
            android:padding="5dp" >

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="0.47"
                android:orientation="vertical" >

                <TextView
                    android:id="@+id/entrytype"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Fox Pro"
                    android:textColor="#000000"
                    android:textSize="16sp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/vehicle_source"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="" 
                    android:visibility="gone"/>

                <TextView
                    android:id="@+id/entrydate"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text=""
                    android:textColor="#989898"
                    android:textSize="14sp" />
            </LinearLayout>
        </LinearLayout>
       </LinearLayout>
      </LinearLayout>

【问题讨论】:

  • 您想要完成的究竟是什么?从来没有文字换行?
  • 是的,我不想让文本换行,因为它会降低视图布局。

标签: android textview word-wrap ppi


【解决方案1】:

您有多种选择:

前两个保留文本,第三个删除多余的字符。

【讨论】:

  • 我不想滚动文本视图。我希望 textview 出现在同一行。如示例所示,它不应换行到第二行。
  • 文本在视觉上是否有足够的空间以水平放置在屏幕上?
  • 是的,文本有足够的空间。事实是 - 相同的代码适用于 ppi 值为 ~160 的 7 英寸平板电脑,但不适用于 ppi 高达 ~216 的 7 英寸平板电脑。
猜你喜欢
  • 1970-01-01
  • 2018-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多