android-如何在方向更改中更改textview maxLines?

时间:2018-07-23 23:34:43

标签: android textview landscape-portrait screen-rotation

如何在定向模式下更改textview maxLines?例如,在纵向模式下为4个最大线,而在横向模式下为2个最大线。我尝试使用以下代码,但未成功,仅在纵向模式下显示4行,而在横向模式下不显示2行:

MainActivity

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
          maxlines();
             case...
             default:
                        break;
                }

........................

private void maxlines(){
        if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){
            arabicfont.setMaxLines(4);
        }else{
            if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
                arabicfont.setMaxLines(2);
            }
        }
    }

清单

<activity
            android:name=".MainActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

1 个答案:

答案 0 :(得分:0)

有两种方法可以解决此方法:

1)重写OnConfigurationChanged方法:更改设备方向时将调用此方法。

2)通过从该方法调用maxlines()函数来覆盖OnResume方法:在整个活动lifecycle中都会调用此方法。