Bạn chỉ có thể sử dụng theme thoại. Để làm điều này, chỉ cần viết trong Manifest:
android:theme="@android:style/Theme.Dialog"
hoặc
android:theme="@android:style/Theme.Holo.Dialog"
hoặc chỉ bằng cách tạo ra chủ đề của riêng bạn trong styles.xml:
<style name="MyDialogTheme" parent="Theme.Holo.Dialog">
...
</style>
Bạn có thể đặt chủ đề như vậy cho xlarge hoặc màn hình lớn bằng cách tạo styles.xml trong các thư mục values-xlarge hoặc values-large.
Nếu bạn muốn thiết lập kiến trúc này chỉ cho máy tính bảng, sau đó bạn có thể thay đổi theme động bằng cách kiểm tra các kích thước màn hình như thế này:
if (Configuration.SCREENLAYOUT_SIZE_XLARGE)
{
//setTheme(yourDialogTheme);
}
Vui lòng kiểm tra câu trả lời này nếu bạn muốn đối thoại với thanh hành động. Bạn có thể làm điều này bằng cách tạo hộp thoại tùy chỉnh của bạn.
Dialog themed activity with action bar
Custom dialog
EDIT: Một câu trả lời từ google group post.Hãy thử điều này trong xml của bạn với phong cách:
<style name="PopupTheme" parent="android:Theme.Holo.Light.Dialog">
<item name="android:windowIsFloating">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowSoftInputMode">stateAlwaysHidden</item>
<item name="android:windowActionModeOverlay">true</item>
<item name="android:windowIsTranslucent">true</item>
</style>
Trong mã Java
public static void showAsPopup(Activity activity) {
//To show activity as dialog and dim the background, you need to declare android:theme="@style/PopupTheme" on for the chosen activity on the manifest
activity.requestWindowFeature(Window.FEATURE_ACTION_BAR);
activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND,
WindowManager.LayoutParams.FLAG_DIM_BEHIND);
LayoutParams params = activity.getWindow().getAttributes();
params.height = LayoutParams.FILL_PARENT;
params.width = 850; //fixed width
params.alpha = 1.0f;
params.dimAmount = 0.5f;
activity.getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);
}
Nguồn
2013-05-26 11:38:16
Tôi đã cố gắng này và nó không có tác dụng trên Nexus của tôi 10 My Manifest: Styles.xml –
Milo
Ngoài ra, bạn nên kiểm tra [link] này (http) : //developer.android.com/guide/topics/ui/themes.html) – Oli
Cảm ơn, android: Theme.Holo.Dialog đã thực hiện thủ thuật. Không chắc tại sao, có lẽ tôi đã ghi đè những phong cách khác ở đâu đó khác. Tuy nhiên, tôi dường như không thể sử dụng ActionBar bằng cách sử dụng Chủ đề đó. Tôi nhận được một cuộc gọi nullpointer: actionBar.setDisplayHomeAsUpEnabled (true); – Milo