我正在使用android中的自定义警报对话框.
我遵循了link 1和linke 2.
在我的代码中使用了这些样式.
<style name="DialogAnimation"> <item name="androID:windowEnteranimation">@anim/slIDe_up_dialog</item> <item name="androID:windowExitAnimation">@anim/slIDe_out_down</item>
<!-- Animation for dialog Box --><style name="DialogSlIDeAnim" parent="AppBasetheme"> <item name="androID:windowAnimationStyle">@style/DialogAnimation</item></style>
从这些样式中,我得到了带有边框的对话框.但我需要像下面这样.
我正在使用LG Nexus 4设备.我应该怎么做才能做到这一点?
解决方法:
我有一些解决方案.请看下面的例子.
在xml样式中使用以下代码:
<resources> .... <style name="DialogAnimation"> <item name="androID:windowEnteranimation">@anim/abc_slIDe_in_bottom</item> <item name="androID:windowExitAnimation">@anim/abc_slIDe_out_bottom</item> </style> <style name="DialogSlIDeAnim"> <item name="androID:windowAnimationStyle">@style/DialogAnimation</item> <item name="androID:windowBackground">@androID:color/transparent</item> <item name="androID:windowFrame">@null</item> <item name="androID:windowNoTitle">true</item> </style></resources>
和对话框的布局
<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content"> <button androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:text="Male" androID:ID="@+ID/male" androID:layout_marginBottom="-10dp" androID:layout_gravity="center_horizontal"/> <button androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:text="Female" androID:ID="@+ID/female" androID:layout_below="@ID/male" androID:layout_gravity="center_horizontal"/> <button androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:layout_margintop="10dp" androID:text="Cancel" androID:layout_below="@ID/female" androID:ID="@+ID/cancel" androID:layout_gravity="center_horizontal"/></relativeLayout>
和对话框的java文件:
public class YourDialog extends DialogFragment { @NonNull @OverrIDe public Dialog onCreateDialog(Bundle savedInstanceState) { return new Dialog(getActivity(), R.style.DialogSlIDeAnim); } @OverrIDe public VIEw onCreateVIEw(LayoutInflater inflater, @Nullable VIEwGroup container, @Nullable Bundle savedInstanceState) { final VIEw vIEw = inflater.inflate(R.layout.your_dialog, container, false); return vIEw; } @OverrIDe public voID onResume() { super.onResume(); final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); final Window window = getDialog().getwindow(); window.setGravity(Gravity.BottOM); lp.copyFrom(window.getAttributes()); lp.wIDth = WindowManager.LayoutParams.MATCH_PARENT; lp.height = WindowManager.LayoutParams.WRAP_CONTENT; window.setAttributes(lp); }}
结果:
总结以上是内存溢出为你收集整理的自定义警报对话框android全部内容,希望文章能够帮你解决自定义警报对话框android所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)