大文本将包裹在Textview中

时间:2013-07-09 13:54:32

标签: android textview textwrapping ppi

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

第一个文字视图:

  

Fox Pro

     

拖动

     

主要查看项目

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

和其他文字观点:

  

Fox Pro

     

拖动

     

主视图
项目

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

请注意,问题仅出在更高的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>

1 个答案:

答案 0 :(得分:0)

您有多种选择:

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