android 自己定义Dialog去除黑色边框

幼敏悟过人,读书辄成诵。这篇文章主要讲述android 自己定义Dialog去除黑色边框相关的知识,希望能为你提供帮助。
在自己定义Dialog时显示的界面中老是有黑色的边框,以下就介绍使用style去除黑色边框方法。


首先在values/styles定义自己定义样式:

< style name="MyDialog" parent="@android:Theme.Dialog"> < item name="android:windowFrame"> @null< /item> < item name="android:windowBackground"> @drawable/actionbar_item_background< /item> < item name="android:windowNoTitle"> true< /item> < item name="android:windowIsFloating"> true< /item> < item name="android:windowContentOverlay"> @null< /item> < item name="android:background"> #FFF< /item> < /style> < item name="android:windowBackground"> @drawable/actionbar_item_background< /item> 这个是重点,仅仅有加入了这个后才干去除黑色的边框




或者是自己定义一个透明的背景图片。这样也能够去除黑色边框!
代码:

static class MsgDialog extends Dialog implements android.view.View.OnClickListener { private String text; public MsgDialog(Context context, String text) { super(context, R.style.MyDialog); this.text = text; }@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login_dialog); TextView txt = (TextView) findViewById(R.id.login_dialog_txt); txt.setText(text); TextView confirm = (TextView) findViewById(R.id.login_dialog_btn); confirm.setOnClickListener(this); }@Override public void onClick(View v) { MsgDialog.this.dismiss(); } }






xml:

< ?xml version="1.0" encoding="utf-8"?
> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="5dp" android:background="#FFF" android:orientation="vertical" > < TextView android:id="@+id/login_dialog_txt" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:text="TextView" android:textColor="@color/grey3" android:textSize="18sp" /> < !-- 切割线 --> < View android:id="@+id/view_division" style="@style/Viewborder" /> < TextView android:id="@+id/login_dialog_btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:height="50dp" android:text="确定" android:textColor="@color/grey3" android:textSize="20sp" /> < /LinearLayout>




--------------------------------------------------------------------------华丽丽的切割线-------------------------------------------------------------------------
dialog自己定义动画:
1、在style.xml中加入
 
< style name="AA" parent="@android:style/Theme.Holo.Light.Dialog"> < item name="android:windowIsFloating"> true< /item> < item name="android:windowIsTranslucent"> false< /item> < item name="android:windowNoTitle"> true< /item> < item name="android:windowFullscreen"> false< /item> < item name="android:windowBackground"> @android:color/transparent< /item> < item name="android:windowAnimationStyle"> @style/dialogWindowAnim< /item> < item name="android:backgroundDimEnabled"> true< /item> < item name="android:backgroundDimAmount"> 0.4< /item> < /style> < style name="dialogWindowAnim"> < item name="android:windowEnterAnimation"> @anim/enter< /item> < item name="android:windowExitAnimation"> @anim/exit< /item> < /style>

< scale xmlns:android="http://schemas.android.com/apk/res/android" android:duration="500" android:fromXScale="100%" android:fromYScale="100%" android:pivotX="50%" android:pivotY="50%" android:toXScale="50%" android:toYScale="50%" > < /scale>




2、anim/enter.xml

< scale android:fromXScale="50%" android:fromYScale="50%" android:pivotX="50%" android:pivotY="50%" android:toXScale="100%" android:toYScale="100%" > < /scale>


  anim/exit.xml
3、在代码中
【android 自己定义Dialog去除黑色边框】在DialogFragment的方法onCreateDialog中使用

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.AA);


dialg自己定义动画,ok
















    推荐阅读