android开发学习 ------- 弹出框
生活随笔
收集整理的這篇文章主要介紹了
android开发学习 ------- 弹出框
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ?這是一種方法,是我覺得簡單易懂代碼量較少的一種:
/* 創建AlertDialog對象并顯示 */final AlertDialog alertDialog = new AlertDialog.Builder(LoginActivity.this).create();alertDialog.show();/* 添加對話框自定義布局 */alertDialog.setContentView(R.layout.dialog_login);/* 獲取對話框窗口 */Window window = alertDialog.getWindow();/* 設置顯示窗口的寬高 */
window.setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);/* 設置窗口顯示位置 */window.setGravity(Gravity.CENTER);/* 通過window找布局里的控件 */window.findViewById(R.id.login).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Log.e("log", "進入onclick函數體內");// 隱藏對話框 alertDialog.dismiss();//自己進行其他的處理 }});
?
R.layout.dialog_login.xml (自己想要的樣子需要在布局中設置好)<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_height="wrap_content"android:layout_width="match_parent"android:orientation="vertical"android:background="@drawable/dialog_corner_bg"android:layout_margin="20dp"
xmlns:android="http://schemas.android.com/apk/res/android"><Buttonandroid:padding="5dp"android:layout_marginBottom="5dp"android:id="@+id/login"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:background="@null"android:text="OK"android:textColor="@color/btn_txt_blue"android:textSize="25sp"android:textStyle="bold" /></LinearLayout>
dialog_corner_bg.xml (對話框的背景)
<?xml version="1.0" encoding="utf-8"?> <!-- 用于設置信息對話框的圓角 --> <shape xmlns:android="http://schemas.android.com/apk/res/android"><corners android:radius="20dip"></corners><solid android:color="@color/white"></solid> </shape>
?效果如下圖:
?
?
?
************************************************************************************************
這是另外一種方法:(需要設置合適的主題)
final Dialog dialog2 = new Dialog(LoginActivity.this, R.style.ActionSheetDialogStyle);LinearLayout view = (LinearLayout) LayoutInflater.from(LoginActivity.this).inflate(R.layout.dialog_forgotpwd, null);TextView dismiss = (TextView) view.findViewById(R.id.btn_dismiss);TextView forgotPin = (TextView) view.findViewById(R.id.btn_forgotpin);TextView forgotPassword = (TextView) view.findViewById(R.id.btn_forgotpassword);dismiss.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {dialog2.dismiss();}});forgotPin.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {}});forgotPassword.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {}});dialog2.setContentView(view);Window dialogWindow = dialog2.getWindow();dialogWindow.setGravity(Gravity.BOTTOM);WindowManager.LayoutParams lp = dialogWindow.getAttributes();lp.y = 30; //距離底部的高度dialogWindow.setAttributes(lp);dialog2.show();style.xml
<style name="ActionSheetDialogStyle" parent="@android:style/Theme.Dialog"><!-- 背景透明 --><item name="android:windowBackground">@drawable/email_dialogfrag_bg</item><item name="android:windowContentOverlay">@null</item><!-- 浮于Activity之上 --><item name="android:windowIsFloating">true</item><!-- 邊框 --><item name="android:windowFrame">@null</item><!-- Dialog以外的區域模糊效果 --><item name="android:backgroundDimEnabled">true</item><!-- 無標題 --><item name="android:windowNoTitle">true</item><!-- 半透明 --><item name="android:windowIsTranslucent">true</item><item name="android:color">@color/white</item></style>?效果如下圖:
?
?
?轉載于:https://www.cnblogs.com/mengxiao/p/8022051.html
總結
以上是生活随笔為你收集整理的android开发学习 ------- 弹出框的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS编程建议——7:小心保留字的误用
- 下一篇: [Unity3D]关于NaN(Not a