您好,登錄后才能下訂單哦!
今天小編給大家分享一下Android怎么自定義彈框Dialog效果的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
具體效果如下
1.dialog_delete.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:layout_width="236dp" android:layout_height="184dp" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:background="@drawable/dialog_white_back"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="刪除設備" android:textColor="#333333" android:textSize="15sp" android:layout_centerHorizontal="true" android:layout_marginTop="13dp"></TextView> <ImageView android:id="@+id/delete_close_id" android:layout_width="10dp" android:layout_height="10dp" android:background="@mipmap/login_close_back" android:layout_alignParentRight="true" android:layout_marginTop="16dp" android:layout_marginRight="13dp"></ImageView> <TextView android:id="@+id/delete_device_id" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="設備 ID:123456789" android:textColor="#333333" android:textSize="16sp" android:layout_marginTop="75dp" android:layout_centerHorizontal="true"></TextView> <TextView android:id="@+id/delete_cancle_id" android:layout_width="77dp" android:layout_height="26dp" android:background="@drawable/round_gray" android:layout_alignParentBottom="true" android:layout_marginBottom="18dp" android:layout_marginLeft="31dp" android:text="取消" android:textSize="11sp" android:textColor="#333333" android:gravity="center"></TextView> <TextView android:id="@+id/delete_sure_id" android:layout_width="77dp" android:layout_height="26dp" android:background="@drawable/round_blue" android:layout_alignParentBottom="true" android:layout_marginBottom="18dp" android:layout_alignParentRight="true" android:layout_marginRight="32dp" android:text="確定" android:textSize="11sp" android:textColor="#FEFDFD" android:gravity="center"></TextView> </RelativeLayout> </RelativeLayout>
2.設置背景邊框,在drawable創建dialog_white_back.xml
顏色以及圓角 根據自己需求修改
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color ="#ffffff"/> <corners android:radius="8dp"/> </shape>
3.按鈕的背景邊框,在drawable創建round_gray.xml
顏色以及圓角 根據自己需求修改
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color = "#DCDCDC" /> <corners android:radius="360dp"/> </shape>
4.在Style文件中添加
<!--Dialog 樣式 --> <style name="BottomDialog" parent="AlertDialog.AppCompat"> <item name="android:windowIsFloating">true</item> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:backgroundDimEnabled">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:fullBright">@color/clear</item> <item name="android:fullDark">@color/clear</item> <item name="android:topBright">@color/clear</item> <item name="android:topDark">@color/clear</item> <item name="android:borderlessButtonStyle">@color/clear</item> </style>
5.Java代碼部分
/** * 刪除AlertDialog */ public void DeleteDialog() { //布局、id View view = LayoutInflater.from(getActivity()).inflate(R.layout.dialog_delete, null); ImageView delete_close_id = view.findViewById(R.id.delete_close_id); TextView delete_device_id = view.findViewById(R.id.delete_device_id); TextView delete_cancle_id = view.findViewById(R.id.delete_cancle_id); TextView delete_sure_id = view.findViewById(R.id.delete_sure_id); //顯示樣式 final Dialog dialog = new Dialog(getActivity(), R.style.BottomDialog); dialog.setContentView(view); dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent); DisplayMetrics dm = getResources().getDisplayMetrics(); int displayWidth = dm.widthPixels; int displayHeight = dm.heightPixels; android.view.WindowManager.LayoutParams p = dialog.getWindow().getAttributes(); //獲取對話框當前的參數值 p.width = (int) (displayWidth * 0.8); //寬度設置為屏幕的0.5 //dialog.setCanceledOnTouchOutside(false);// 設置點擊屏幕Dialog不消失 dialog.getWindow().setAttributes(p); //設置生效 dialog.show(); //點擊關閉 delete_close_id.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); //點擊確定刪除 delete_sure_id.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); //點擊取消刪除 delete_cancle_id.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); }
以上就是“Android怎么自定義彈框Dialog效果”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。