目前在我的FragmentActivity
中,我使用onCreate
方法隐藏状态栏,执行以下操作:
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
这没问题。
但是在全屏幕中,假设用户单击一个按钮,我会想要交换另一个片段(记住我们在FragmentActivity
),我的意思是替换全屏显示的当前片段。
但我希望显示标题栏/状态。
这可能吗?如果是这样,我该如何以编程方式进行
答案 0 :(得分:22)
您可以使用以下两种方法动态更改标题栏。我从Activity
打电话给他们。因此,要从Fragment
拨打电话,您需要Activity
个实例。
public void hideTitle() {
try {
((View) findViewById(android.R.id.title).getParent())
.setVisibility(View.GONE);
} catch (Exception e) {
}
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(
WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
}
public void showTitle() {
try {
((View) findViewById(android.R.id.title).getParent())
.setVisibility(View.VISIBLE);
} catch (Exception e) {
}
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
答案 1 :(得分:0)
有几种方法可以这样做:
第一种方法:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.foo_layout);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_bar);
or
youractivity.setTitle();
注意!您可以在布局TextView
custom_title_bar
按如下方式设置custom_title_bar
布局:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/titleTextView"
style="@android:style/WindowTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
/>
</LinearLayout>
第二种方法:
this.setTitle("My Title!");