自定义AlertDialog布局
生活随笔
收集整理的這篇文章主要介紹了
自定义AlertDialog布局
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
先看效果圖:
附上代碼:
//?1.?布局文件轉(zhuǎn)換為View對(duì)象 LayoutInflater?inflater?=?LayoutInflater.from(this); RelativeLayout?layout?=?(RelativeLayout)?inflater.inflate(R.layout.alert_dialog_001,?null);//?2.?新建對(duì)話框?qū)ο?final?Dialog?dialog?=?new?AlertDialog.Builder(MainActivity.this).create(); dialog.setCancelable(false); dialog.show(); dialog.getWindow().setContentView(layout);//?3.?消息內(nèi)容 TextView?dialog_msg?=?(TextView)?layout.findViewById(R.id.dialog_msg); dialog_msg.setText("你確定嗎?");//?4.?確定按鈕 Button?btnOK?=?(Button)?layout.findViewById(R.id.dialog_ok); btnOK.setOnClickListener(new?OnClickListener() {@Overridepublic?void?onClick(View?v){Toast.makeText(getApplicationContext(),?"ok",?Toast.LENGTH_SHORT).show();dialog.dismiss();} });//?5.?取消按鈕 Button?btnCancel?=?(Button)?layout.findViewById(R.id.dialog_cancel); btnCancel.setOnClickListener(new?OnClickListener() {@Overridepublic?void?onClick(View?v){Toast.makeText(getApplicationContext(),?"cancel",?Toast.LENGTH_SHORT).show();dialog.dismiss();} });//?6.?只顯示一個(gè)按鈕 btnCancel.setVisibility(View.GONE); LinearLayout.LayoutParams?params?=?new?LinearLayout.LayoutParams(DensityUtil.dip2px(context,?120),?DensityUtil.dip2px(context,?48)); btnOK.setLayoutParams(params); <?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="wrap_content"android:background="#00000000"?><RelativeLayoutandroid:id="@+id/rl_dialog_content"android:layout_width="match_parent"android:layout_height="200dp"android:layout_marginLeft="40dp"android:layout_marginRight="40dp"android:background="@drawable/shape_top_corner_no_bottom_line"android:padding="8dp"?><TextViewandroid:id="@+id/dialog_title"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:gravity="center"android:singleLine="true"android:text="提示"android:textSize="18sp"?/><TextViewandroid:id="@+id/dialog_msg"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_centerInParent="true"android:layout_marginLeft="20dp"android:layout_marginRight="20dp"android:gravity="center"android:maxLines="3"android:text="你父母知道嗎?"android:textSize="18sp"?/><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:gravity="center"android:orientation="horizontal"?><Buttonandroid:id="@+id/dialog_ok"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:background="@drawable/dialog_btn_ok"android:text="確定"android:textColor="#ffffff"?/><Buttonandroid:id="@+id/dialog_cancel"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="5dp"android:layout_weight="1"android:background="@drawable/dialog_btn_cancle"android:text="取消"?/></LinearLayout></RelativeLayout></RelativeLayout>像素轉(zhuǎn)換工具類:
import?android.content.Context;public?class?DensityUtil {/***?根據(jù)手機(jī)的分辨率從?dp?的單位?轉(zhuǎn)成為?px(像素)*/public?static?int?dip2px(Context?context,?float?dpValue){final?float?scale?=?context.getResources().getDisplayMetrics().density;return?(int)?(dpValue?*?scale?+?0.5f);}/***?根據(jù)手機(jī)的分辨率從?px(像素)?的單位?轉(zhuǎn)成為?dp*/public?static?int?px2dip(Context?context,?float?pxValue){final?float?scale?=?context.getResources().getDisplayMetrics().density;return?(int)?(pxValue?/?scale?+?0.5f);} }背景樣式:
<?xml?version="1.0"?encoding="utf-8"?> <selector?xmlns:android="http://schemas.android.com/apk/res/android"><item><shape><stroke?android:width="2dp"?android:color="#CCCCCC"/><solid?android:color="#FFFFFF"?/><corners?android:radius="6dp"?/></shape></item></selector>還有兩個(gè)按鈕圖片就不傳了,大家自定義。
轉(zhuǎn)載于:https://my.oschina.net/u/1036767/blog/266317
總結(jié)
以上是生活随笔為你收集整理的自定义AlertDialog布局的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【iHMI43 应用演示】之 modbu
- 下一篇: 《cocos2d-x手机游戏开发实战》直