Hiện tại, tôi đang sử dụng ActionBarSherlock. Tôi muốn khởi chạy SecondActivity
từ MainActivity
.Tắt theo chương trình android: windowActionBarChế độ chơi từ thanh tác vụ
MainActivity
đang sử dụng thanh tác vụ với kiểu dáng windowActionBarOverlay
được bật. SecondActivity
đang sử dụng thanh tác vụ với kiểu dáng windowActionBarOverlay
bị tắt. Do đó, đây là cách XML của tôi trông như thế nào.
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:debuggable="false" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/ThemeWithActionBarOverlay"
android:screenOrientation="nosensor" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SecondActivity"
android:theme="@style/ThemeWithoutOverlay">
</activity>
</application>
<resources>
<style name="ThemeWithActionBarOverlay" parent="@style/Theme.Sherlock">
<item name="android:windowActionBarOverlay">true</item>
<item name="abIcon">@drawable/ic_home</item>
<item name="abTitleTextStyle">@style/ActionBarCompatTitle</item>
</style>
<style name="ThemeWithoutOverlay" parent="@style/Theme.Sherlock">
<item name="abIcon">@drawable/ic_home</item>
<item name="abTitleTextStyle">@style/ActionBarCompatTitle</item>
</style>
</resources>
Tuy nhiên, bằng cách làm như vậy, trong SecondActivity
, tôi nhận ra tôi không bao giờ có thể có một nút lên/trở lại phía trên bên trái của thanh hành động. Mặc dù có biểu tượng được hiển thị, nó không thể nhấn được. Chỉ bằng cách sử dụng lại cùng một chủ đề (ThemeWithActionBarOverlay) là MainActivity
, chỉ nút lên/quay lại mới hiển thị. Tuy nhiên, nếu tôi để SecondActivity
sử dụng cùng một chủ đề như MainActivity
, tôi không tìm thấy cách nào để tắt hoạt động windowActionBarOverlay
.
// SecondActivity
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.history_list_activity);
ActionBar actionBar = this.getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
// How to turn android:windowActionBarOverlay attribute to false during runtime?
// actionBar.???
}
Câu hỏi của tôi là
- Tại sao các hoạt động trẻ phải sử dụng thanh tác vụ có cùng chủ đề như cha mẹ, để có thích lên/trở lại nút hiển thị? Có cách nào tôi có thể sử dụng các chủ đề khác nhau, nhưng có nút lên/quay lại xuất hiện trên hoạt động của trẻ không?
- Có thể bật kiểu
windowActionBarOverlay
trong khi chạy không?
Vấn đề thứ hai của bạn có được giải quyết không? Tôi cũng tìm kiếm như vậy. – Kameswari