日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

【转】Android AlertDialog自定义布局

發(fā)布時間:2025/3/15 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】Android AlertDialog自定义布局 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原文網(wǎng)址:https://blog.csdn.net/u010694658/article/details/53022294

由于開發(fā)中經(jīng)常使用彈框,然而系統(tǒng)自帶的彈框太局限,也不太美觀,經(jīng)常不能滿足開發(fā)需求,所以就只能自定義布局。其實自定義布局很簡單,沒不要寫出來,但是如果不寫一遍的,后面遇到的話就感覺又會忘記,所以在次記一小筆,僅記一個最簡單的例子,可以舉一反三。?

直接上代碼

public class MainActivity extends Activity implements OnClickListener { private TextView text1, text2; private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); mContext = this; initView(); } private void initView() { text1 = (TextView) findViewById(R.id.text1); text2 = (TextView) findViewById(R.id.text2); text1.setOnClickListener(this); text2.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.text1: dialogShow1(); break; case R.id.text2: dialogShow2(); break; default: break; } } private void dialogShow1() { AlertDialog.Builder builder = new Builder(mContext); builder.setTitle("溫馨提示"); builder.setIcon(R.drawable.ic_launcher); builder.setMessage("原理是基本"); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { Toast.makeText(mContext, "no", 1).show(); } }); builder.setPositiveButton("立即更新", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { Toast.makeText(mContext, "ok", 1).show(); } }); Dialog dialog = builder.create(); dialog.show(); } /** * 自定義布局 * setView()只會覆蓋AlertDialog的Title與Button之間的那部分,而setContentView()則會覆蓋全部, * setContentView()必須放在show()的后面 */ private void dialogShow2() { AlertDialog.Builder builder = new Builder(mContext); LayoutInflater inflater = LayoutInflater.from(mContext); View v = inflater.inflate(R.layout.update_manage_dialog, null); TextView content = (TextView) v.findViewById(R.id.dialog_content); Button btn_sure = (Button) v.findViewById(R.id.dialog_btn_sure); Button btn_cancel = (Button) v.findViewById(R.id.dialog_btn_cancel); //builer.setView(v);//這里如果使用builer.setView(v),自定義布局只會覆蓋title和button之間的那部分 final Dialog dialog = builder.create(); dialog.show(); dialog.getWindow().setContentView(v);//自定義布局應(yīng)該在這里添加,要在dialog.show()的后面 //dialog.getWindow().setGravity(Gravity.CENTER);//可以設(shè)置顯示的位置 btn_sure.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); Toast.makeText(mContext, "ok", 1).show(); } }); btn_cancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { dialog.dismiss(); Toast.makeText(mContext, "no", 1).show(); } }); } }

activity_main的布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="100dp" android:orientation="vertical" > <TextView android:id="@+id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:gravity="center" android:text="彈出dialog" android:textSize="@dimen/activity_horizontal_margin" /> <TextView android:id="@+id/text2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:gravity="center" android:text="彈出自定義布局dialog" android:textSize="@dimen/activity_horizontal_margin" /> </LinearLayout>

update_manage_dialog布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00FFFFFF" > <RelativeLayout android:layout_width="250dp" android:layout_height="250dp" android:layout_centerInParent="true" android:background="@drawable/update_bg" > <TextView android:id="@+id/dialog_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:gravity="center" android:text="溫馨提示" android:textSize="18sp" /> <TextView android:id="@+id/dialog_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/dialog_title" android:layout_marginTop="10dp" android:layout_marginLeft="30dp" android:layout_marginRight="30dp" android:text="原理是基本\n實踐出真知" android:textSize="14sp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="horizontal" > <Button android:id="@+id/dialog_btn_cancel" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@null" android:text="取消" android:textColor="#AAAAAA" android:textSize="14sp" /> <Button android:id="@+id/dialog_btn_sure" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@null" android:text="立即更新" android:textSize="14sp" /> </LinearLayout> </RelativeLayout> </RelativeLayout>

update_bg放在drawable里面,代碼如下

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <!-- android:radius 弧形的半徑 --> <corners android:radius="30dp" /> <!-- 填充的顏色 --> <solid android:color="@android:color/white" /> </shape>

總結(jié)

以上是生活随笔為你收集整理的【转】Android AlertDialog自定义布局的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩欧美网址 | 91porny丨首页入口在线 | 捆绑凌虐一区二区三区 | 男生吃小头头的视频 | 91国产视频在线 | 看黄色网址 | 麻豆视频网页 | 夜夜嗨影院 | 国产成人综合在线观看 | 97碰碰视频 | 欧美高清69hd | 国产一级做a爱免费视频 | 亚洲天堂自拍偷拍 | 国产精品天天看 | 少妇高潮惨叫久久久久久 | 亚洲精品色午夜无码专区日韩 | 就操网| 调教驯服丰满美艳麻麻在线视频 | 91久久精品夜夜躁日日躁欧美 | 亚洲美免无码中文字幕在线 | 国产成年无码久久久久毛片 | 日韩精品一区二区三区不卡在线 | 欧美日韩国产电影 | 日本美女一级视频 | 欧美福利视频在线观看 | 四虎免费av | 国产成人高清在线 | 亚洲国产视频一区 | 久久嫩 | 青青草原av在线 | 91精品91久久久中77777 | 波多野结衣操 | 这里只有精品久久 | 国产精品嫩草久久久久 | 国产精品成人av性教育 | 久久久久在线 | 中文字幕一区二区三区乱码在线 | 丁香花五月天 | 成人av高清在线观看 | 小敏的受孕日记h | 五月的婷婷 | 欧洲丰满少妇做爰 | 精品一区二区三区入口 | 在线免费观看黄视频 | www.狠狠撸.com | www.一区二区三区 | 国产51视频 | 一区中文字幕 | 一本久道在线 | 九九99视频| 人人干视频 | 欧美人与禽性xxxxx杂性 | 亚洲国产精品久久久久 | 欧美国产日韩精品 | 午夜影院在线看 | va在线播放 | 自拍偷拍色综合 | 亚洲欧美亚洲 | 制服丝袜第一页在线观看 | 成人毛片一级 | 久草中文网 | 噼里啪啦动漫 | 国产成人欧美 | 色福利视频 | 精品一区免费 | 狠狠爱免费视频 | 国产成人av一区二区三区在线观看 | 91官网在线 | 欧美久久久一区二区三区 | 国产精品18p | 国产乱女淫av麻豆国产 | 国产在线免费观看 | 熟妇人妻无码xxx视频 | 久久精品国产精品亚洲毛片 | 色亚洲成人 | 亚洲少妇xxx | 久久伊人婷婷 | 在线观看欧美成人 | 成人午夜精品一区二区 | 日本美女一区二区三区 | 怡春院视频 | 男人喷出精子视频 | 久久久性视频 | 欣赏asian国模裸体pics | 精品中文字幕在线播放 | 国产日韩三级 | 精品动漫一区二区三区的观看方式 | 无法忍受在线观看 | 国产1区2区3区 | 欧美日韩在线观看视频 | 激情婷婷在线 | 日韩一级伦理片 | 国产aⅴ激情无码久久久无码 | 亚洲色偷偷色噜噜狠狠99网 | 久久三级网 | 欧美激情在线观看 | 亚洲熟女乱综合一区二区三区 | 欧美熟妇交换久久久久久分类 | 男人插女人下面视频 |