標籤:text cli find android開發 nbsp nta shape 控制項 center
這是一種方法,是我覺得簡單易懂代碼量較少的一種:
/* 建立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() { @Override public 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"> <Button android: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() { @Override public void onClick(View v) { dialog2.dismiss(); } }); forgotPin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); forgotPassword.setOnClickListener(new View.OnClickListener() { @Override public 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>
android開發學習 ------- 彈出框