Android开发之AlertDialog设置左右边距的间接办法
生活随笔
收集整理的這篇文章主要介紹了
Android开发之AlertDialog设置左右边距的间接办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
老套路看未設置邊距的:
再看下設置邊距的
效果非常明顯了吧,思路將AlertDialog的背景色設置為透明,然后在xml布局中在外面再套一層空布局,在第二層布局中添加drawable邊框就可以了
再看xml套的一層
?
如果上面圖片看不明白直接上代碼:先看xml,如有缺少顏色圖片請自行補全
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@android:color/transparent"android:gravity="center"android:orientation="vertical"><!--領取獎勵頁面--><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="25dp"android:layout_marginRight="25dp"android:background="@drawable/normal_login_bt_bg"android:paddingTop="25dp"android:paddingBottom="25dp"><TextViewandroid:id="@+id/tv_title"android:layout_width="wrap_content"android:layout_height="25dp"android:layout_alignParentTop="true"android:layout_centerInParent="true"android:text="領取獎勵"android:textColor="@color/login_text"android:textSize="18sp" /><TextViewandroid:id="@+id/tv_rewards_content"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/tv_title"android:layout_marginLeft="21dp"android:layout_marginTop="26.5dp"android:layout_marginRight="21dp"android:textColor="@color/login_text"android:textSize="15sp"tools:text="您已完成連續登錄游戲XX天任務,可前往機鋒世界APP中領取100原力,100原石獎勵。" /><TextViewandroid:id="@+id/tv_cancel"android:layout_width="125dp"android:layout_height="45dp"android:layout_below="@+id/tv_rewards_content"android:layout_marginLeft="55dp"android:layout_marginTop="35.5dp"android:layout_marginRight="4dp"android:layout_toLeftOf="@+id/view_space"android:background="@drawable/normal_login_bt_bg"android:gravity="center"android:text="取消"android:textColor="@color/black_text" /><Viewandroid:id="@+id/view_space"android:layout_width="10dp"android:layout_height="50dp"android:layout_below="@+id/tv_rewards_content"android:layout_centerInParent="true"android:layout_marginTop="35.5dp" /><TextViewandroid:id="@+id/tv_get_gif"android:layout_width="125dp"android:layout_height="45dp"android:layout_below="@+id/tv_rewards_content"android:layout_marginLeft="4dp"android:layout_marginTop="35.5dp"android:layout_marginRight="55dp"android:layout_toRightOf="@+id/view_space"android:background="@drawable/quick_login_bt_bg"android:gravity="center"android:text="領取獎勵"android:textColor="@color/white" /></RelativeLayout></RelativeLayout>再看設置對話框的代碼:
/*** 領取獎勵加載的loading……** @param msg 展示的消息* @param clickListener 事件監聽*/public void receiveRewardLoading(String msg, View.OnClickListener clickListener) {final Activity activity = MCApiFactory.getMCApi().getContext();alertDialog = new AlertDialog.Builder(activity).create();View dialogView = View.inflate(activity, MCHInflaterUtils.getLayout(activity, "receive_rewards"), null);TextView tvContent = dialogView.findViewById(MCHInflaterUtils.getControl(activity, "tv_rewards_content"));TextView tvCancel = dialogView.findViewById(MCHInflaterUtils.getControl(activity, "tv_cancel"));TextView tvGetGif = dialogView.findViewById(MCHInflaterUtils.getControl(activity, "tv_get_gif"));tvContent.setText(new StringBuilder("您已完成連續登錄游戲,可前往機鋒世界APP中領取").append(msg));alertDialog.setView(dialogView);alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));alertDialog.setCanceledOnTouchOutside(false);alertDialog.show();tvGetGif.setOnClickListener(clickListener);tvCancel.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {alertDialog.dismiss();//任務完成彈窗點擊取消統計 字段為14CensusUtils.getInstance().uploadAllData(activity, 14, 14);}});}?
總結
以上是生活随笔為你收集整理的Android开发之AlertDialog设置左右边距的间接办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开发之高仿三方授权登录的实
- 下一篇: Android开发之Constraint