How to dynamically set textview height android

前端 未结 3 1752
眼角桃花
眼角桃花 2020-12-08 05:25

In my application I need to set dynamic text to my textview so I want it to get resized dynamically. I have set:



        
3条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-08 06:08

    As Konstantin said, this code will probably be ignored after you exceed 4 lines unless you remove android:maxLines="4"

    This is how you would set the height in code:

    TextView tv = (TextView) findViewById(R.id.TextView02);
    int height_in_pixels = tv.getLineCount() * tv.getLineHeight(); //approx height text
    tv.setHeight(height_in_pixels);
    

    If you want to use dip units, which allows your app to scale across multiple screen sizes, you would multiply the pixel count by the value returned by getResources().getDisplayMetrics().density;

    This depends on your desired behavior, but you might also consider having the TextView size fixed, and allowing the user to scroll the text:

    TextView tv = (TextView)findViewById(R.id.TextView02);
    tv.setMovementMethod(ScrollingMovementMethod.getInstance());
    

提交回复
热议问题