您的位置:首页 > Web前端 > CSS

给DialogFragment设置样式

2017-02-11 16:15 375 查看
记录:

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NO_FRAME, R.style.DuobaoDialog);
}

@Override
public void onStart() {
super.onStart();
//设置宽度顶满屏幕,无左右留白
DisplayMetrics dm = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
getDialog().getWindow().setLayout(dm.widthPixels, getDialog().getWindow().getAttributes().height);

//设置背景色透明,在style中已设置backgroundDimEnabled为false,这里不需要.
Window window = getDialog().getWindow();
WindowManager.LayoutParams windowParams = window.getAttributes();
windowParams.dimAmount = 0.0f;
window.setAttributes(windowParams);
//再次设置出现动画
window.getAttributes().windowAnimations = R.style.DialogAnimation;
}

<style name="DuobaoDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:backgroundDimEnabled">false</item><!--activity不变暗-->
<item name="android:windowFullscreen">true</item>
<item name="android:windowAnimationStyle">@style/DialogAnimation</item>
</style>

<style name="DialogAnimation">
<item name="android:windowEnterAnimation">@anim/bottom_dialog_enter_anim</item>
<item name="android:windowExitAnimation">@anim/bottom_dialog_exit_anim</item>
</style>


enter anim

<?xml version="1.0" encoding="utf-8"?>


<scale
android:duration="@android:integer/config_longAnimTime"
android:fromXScale="1.0"
android:fromYScale="0.5"
android:pivotX="50%"
android:pivotY="0%"
android:toXScale="1.0"
android:toYScale="1.0" />

<translate
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="50%"
android:toYDelta="0%"/>

<alpha
android:duration="@android:integer/config_longAnimTime"
android:fromAlpha="0.0"
android:toAlpha="1.0"/>


exit anim

<?xml version="1.0" encoding="utf-8"?>


<scale
android:duration="@android:integer/config_longAnimTime"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="100%"
android:toXScale="1.0"
android:toYScale="0.5" />

<translate
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="0%"
android:toYDelta="100%"/>

<alpha
android:duration="@android:integer/config_longAnimTime"
android:fromAlpha="1.0"
android:toAlpha="0.3"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: