日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品高清视频在线观看 | 偷拍网亚洲 | 亚洲va欧美va天堂v国产综合 | 久操伊人网| 久久国产成人 | 澳门黄色一级片 | 超碰最新网址 | h无码动漫在线观看 | 欧美高清在线观看 | 国产chinesehd精品露脸 | 久久久久久伊人 | 91涩漫成人官网入口 | 狠狠干伊人| 久久久久久久久久av | 亚洲国产日韩在线观看 | 色漫在线观看 | 久久夜色精品国产欧美乱 | 青娱乐国产在线 | 色老汉av一区二区三区 | 99久久免费看精品国产一区 | 日本色片网站 | 欧美激情图片 | 男人操女人视频网站 | 国产伦精品一区 | h视频在线看 | 麻豆影视国产在线观看 | 极品久久 | 伊人影院视频 | 理伦毛片 | 极品少妇av | 精品一区在线播放 | 日本精品视频一区二区 | 中日韩在线视频 | 黄色羞羞网站 | 成人日韩视频 | 狠狠干夜夜干 | 国产精品免费视频一区二区三区 | 亚洲男女视频 | 国产91精品高潮白浆喷水 | 国产一区不卡在线 | 可以免费观看的av | 森泽佳奈在线播放 | 成人免费视频一区二区三区 | 国产黄色片av | 青草草在线| 潘金莲裸体一级淫片视频 | 国产成人精品视频一区二区 | 日本丰满熟妇bbxbbxhd | 熟睡侵犯の奶水授乳在线 | 五月天激情视频在线观看 | 国产精品亚洲一区二区三区在线观看 | 久久久久久久久久久久国产 | 黄色av免费在线播放 | 欧美日在线 | 中文字幕一区二区三区日韩精品 | 成人快手免费看片 | 99精品人妻无码专区在线视频区 | 玩偶姐姐在线看 | 伊人久久久久久久久久久 | 亚洲欧美在线播放 | 黄色a级片在线观看 | 亚洲精品乱码久久久久久写真 | 女人被狂躁60分钟视频 | 国产精品视频成人 | 色多多在线观看 | 狠狠搞视频 | www.天天综合 | 深夜久久久 | 一区二区三区91 | 久久久久人妻一道无码AV | 久久五月天综合 | 精品无码人妻少妇久久久久久 | 日本免费一区二区三区视频 | 天天插天天搞 | 黑森林福利视频导航 | 日本亲近相奷中文字幕 | 欧美激情视频在线 | 中文字幕+乱码+中文 | 青青草视频偷拍 | 亚洲视频在线观看一区 | 夜夜嗨av禁果av粉嫩av懂色av | av大片在线免费观看 | 午夜影院一区 | 一本一道久久综合 | 日本 奴役 捆绑 受虐狂xxxx | 黄色一级视频在线观看 | 亚洲天堂视频网站 | 漂亮少妇高潮午夜精品 | 无套内谢大学处破女www小说 | 久久久精品美女 | 韩国成人在线视频 | 视频二区 | 欧美激情视频在线 | 免费在线看黄的网站 | 青娱乐99 | 大肉大捧一进一出好爽视频动漫 | 耳光调教vk | 久久性爱视频网站 | 蜜桃av久久久亚洲精品 |