如何在定向模式下更改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>
答案 0 :(得分:0)
有两种方法可以解决此方法:
1)重写OnConfigurationChanged方法:更改设备方向时将调用此方法。
2)通过从该方法调用maxlines()函数来覆盖OnResume方法:在整个活动lifecycle中都会调用此方法。