我正在尝试设置FragmentDialog
4.0 前的样式,使其显示为 4.0 后。
我正在使用ActionBarSherlock
,但我必须在冰淇淋三明治之前自己设计它。
我想得到以下外观:
但我得到了这个:
所以基本上我希望它不填满整个屏幕。
我尝试了各种样式,但都没有成功,我已经到了希望有一些专家可以帮助我或引导我走向正确方向的地步
我的对话框片段:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//TODO Style 2.3 to look like 4.0
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) {
setStyle(DialogFragment.STYLE_NO_TITLE, R.style.Pre_Honeycomb_Holo_Dialog);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = null;
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
view = inflater.inflate(R.layout.info_dialog_view, container);
} else {
view = inflater.inflate(R.layout.info_dialog_view_content, container);
this.getDialog().setTitle(R.string.info_dialog_title);
}
...
基本上我正在构建冰淇淋三明治之前的标题布局,但内容区域是相同的。
我的 holo_dialog_style:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Pre.Honeycomb.Holo.Dialog" parent="Theme.Sherlock.Light">
<item name="android:windowTitleStyle">@null</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@drawable/panel_bg_holo_light</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
</style>
</resources>