亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

安卓自定義的AlertDialog的一些使用

標簽:
Android

我们先看下面的弹出框如何实现:

https://img1.sycdn.imooc.com//5c0cce4a00012c4e06421112.jpg

xml文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:id="@+id/title"
                android:layout_width="match_parent"
                android:layout_height="60dp" >

    <TextView
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_marginTop="20dp"
        android:layout_height="60dp"
        android:layout_marginLeft="25dp"
        android:text="@string/upgrade_content"
        android:textColor="#000000"
        android:textSize="22sp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_below="@id/content"
        android:orientation="horizontal" >

        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="15dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="15dp"
            android:text="@string/remind_me"
            android:textColor="#000000"
            android:textSize="14sp" />
    </LinearLayout>

</RelativeLayout>

代码实现:

public AlertDialog getEditCustomDialog(String leftText,android.content.DialogInterface.OnClickListener leftlistener, String rightText, android.content.DialogInterface.OnClickListener rightlistener) {
    LayoutInflater inflater = getLayoutInflater();
    View view = inflater.inflate(R.layout.test_dialog1, null);
    AlertDialog.Builder builder = new AlertDialog.Builder(DialogTest.this);
    if (!TextUtils.isEmpty(leftText)) {
        builder.setNegativeButton(leftText, leftlistener);
    }

    if (!TextUtils.isEmpty(rightText)) {
        builder.setPositiveButton(rightText, rightlistener);
    }

    builder.setView(view);
    builder.setTitle("A New Version is Available");
    return builder.create();
}
Dialog dialog = getEditCustomDialog("Cancel", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        Log.d("TAG","<<<<left ");
    }
}, "Upgrade Now", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        Log.d("TAG","<<<<right ");
    }
});
//是否可以点击硬件的back让弹出框消失
dialog.setCancelable(true);
//是否点击弹出框的空白部分可以让弹出框消失
dialog.setCanceledOnTouchOutside(true);

我们可以在dialog.show以后通过WindowManager来改变框的大小

WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
lp.width = DialogTest.this.getResources().getDimensionPixelSize(R.dimen.dialog_width);
lp.height = DialogTest.this.getResources().getDimensionPixelSize(R.dimen.dialog_height);
dialog.getWindow().setAttributes(lp);

代码在https://github.com/nickgao1986/StepSport

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
6509
獲贊與收藏
303

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消