((TextView)((FrameLayout)((LinearLayout)((ViewGroup)getWindow().getDecorView()).getChildAt(0)).getChildAt(0)).getChildAt(0)).setGravity(Gravity.CENTER);
我已使用上面的代码在center
中调整我的活动标题,但它会给我一个错误,即“FrameLayout
无法解析为某种类型”,如果删除了{{1}那么它会在FrameLayout
中给我同样的错误。我还通过添加以下行来更改LinearLayout
文件中的标题栏:
android.xml
现在我正在尝试 <application android:label="@string/app_name">
<activity android:name=".OptionsmenuAct"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
根据我的需要,并希望增加align
的大小。
我该怎么做才能帮助我............
答案 0 :(得分:3)
您实际上想要使用自定义标题视图。看看这个问题:how to set custom title bar TextView Value dynamically in android?
答案 1 :(得分:1)
((TextView)((LinearLayout)((ViewGroup) getWindow()
.getDecorView()).getChildAt(0)).getChildAt(0)).setGravity(Gravity.CENTER);
这对我有用。 但这是一种无证的方式。众所周知,谷歌彻底改变了未记录的数据结构,并且无法保证这种特殊技术将来能够发挥作用。所以我建议你在try / catch块中使用它,比如:
try {
((TextView)((LinearLayout)((ViewGroup) getWindow()
.getDecorView()).getChildAt(0)).getChildAt(0)).setGravity(Gravity.CENTER);
} catch (Exception e1) {
e1.printStackTrace();
}
答案 2 :(得分:1)
我明确地改变了 usman 方法:
((TextView)getWindow().getDecorView().findViewById(android.R.id.title)).setGravity(Gravity.CENTER);