使用 ActionBarSherlock 設定 setDisplayShowTitleEnabled(false) 隱藏標題,但啟動瞬間標題與 Logo 同時顯示,造成視覺閃爍。
在 onCreate() 中以代碼設定 ActionBar 屬性時,View 已開始繪製,屬性變更會觸發重繪,造成短暫閃爍。
在 styles.xml 定義主題,於 `AndroidManifest.xml` 套用,Activity 啟動前即生效,無閃爍。
public class MainActivity extends SherlockActivity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_fragment);
// 無需再設定 ActionBar 屬性,主題已處理
}
}
// 若必須動態切換,可在 onCreate 之後用 Handler 延遲
new Handler().post(() -> {
ActionBar ab = getSupportActionBar();
ab.setDisplayShowTitleEnabled(false);
ab.setDisplayUseLogoEnabled(true);
});
ActionBarSherlock 已停止維護,新專案建議用 Toolbar + AppCompat:
// styles.xml (NoActionBar 主題)
// XML 佈局
// Activity
public class MainActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// 已無標題,只顯示 Logo
}
}
showHome|useLogo 顯示 Logo,不含 showTitle 即隱藏標題