AutoResizeTextView无法按预期工作

时间:2014-09-08 11:22:06

标签: android xml textview

我试图使用第三方AutuResizeTextView库,但遗憾的是它无法正常工作。在我使用它的第一种情况下,我在AutoResize视图中更改文本,每当我设置新文本时,视图的大小就会变得更小。第二种情况是我有一个AutoResize视图列表,只有一些文本正确重新调整大小。所有这些都是使用XML完成的。

链接到图书馆:https://github.com/AndroidDeveloperLB/AutoFitTextView

第一种情况:

<?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="wrap_content"
    android:orientation="vertical"
    android:layout_gravity="center" >

    <com.lb.auto_fit_textview.AutoResizeTextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:ellipsize="none"
        android:maxLines="1"
        android:textColor="@color/white"
        android:id="@+id/title"
        android:textSize="24sp" />

</LinearLayout>

第二种情况:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingLeft="20dp" >

    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/place_info_container"
        android:layout_centerVertical="true">

        <com.lb.auto_fit_textview.AutoResizeTextView 
            android:id="@+id/place_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="24sp"
            android:maxLines="1"/>

        <com.lb.auto_fit_textview.AutoResizeTextView  
            android:id="@+id/place_type"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="14sp"
            android:layout_below="@id/place_name"
            android:maxLines="1"/>

    </RelativeLayout>

</RelativeLayout>

感谢您的帮助:)

2 个答案:

答案 0 :(得分:4)

据我所知this custom视图效果非常好 - 它与您使用的库具有相同的功能。此外,还有很多自动调整大小文本视图的实现。如果您需要结果并且不关心您使用哪种解决方案,可以尝试使用另一种解决方案。

此外,'Grantland'的实施在ListView上运行良好(或者几个月前就可以使用)。

答案 1 :(得分:0)

如果您想要在文字过大时调整文字大小,则根本不需要使用第三方图书馆。

只需按照此操作即可。希望这有效。

 TextView productName;

   productName.setText("Give a very large text anc check it");
    productName.post(new Runnable() {
        @Override
        public void run() {
            int lengthCount = productName.getLineCount(); //check whether your line count goes more
            if(lengthCount == 2){ //check how much lines maximum it goes and give your wish.
                productName.setTextSize(TypedValue.COMPLEX_UNIT_SP,16); //reduce font size
            }
    }});