私は次の回避策を使用してアクティビティラベルを中央に配置しています(XMLレイアウトのカスタムタイトルに頼る必要はありません)。
((TextView)((FrameLayout)((LinearLayout)((ViewGroup) getWindow().getDecorView()).getChildAt(0)).getChildAt(0)).getChildAt(0)).setGravity(Gravity.CENTER);
これはうまく機能しますが、時々私は(Google Playの)ユーザーの1人が
java.lang.ClassCastException:com.android.internal.widget.ActionBarViewをandroid.widget.TextViewにキャストできません
これらは、Android3.x以降を実行しているタブレットユーザーである可能性があります。
アクティビティラベルに直接アクセスできる独自のカスタムタイトルを実装する以外に、 ClassCastExceptionにそれActionBarView
を回避する別の方法をお勧めできますか?TextView
おそらく、アプリが現在実行されているAndroidバージョンを確認し、別のレベルを通過しgetChildAt(0)
ますか?