1.对话框layout_dialog.xml布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="270dp"
android:layout_height="165dp"
android:background="@drawable/aa_dialog_bg"
android:orientation="vertical" >
<TextView
android:id="@+id/setting_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="@string/device_name"
android:textColor="#030303"
/>
<EditText
android:id="@+id/setting_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/setting_title"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_marginTop="20dp"
android:autoText="false"
android:capitalize="none"
android:gravity="fill_horizontal"
android:scrollHorizontally="true"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceMedium" />
<View
android:id="@+id/center_line"
android:layout_width="match_parent"
android:layout_height="0.1dp"
android:background="#334D4D4D"
android:layout_marginTop="20dp"
android:layout_below="@id/setting_edit"
/>
<LinearLayout
android:id="@+id/buttonLayout"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_below="@id/center_line"
android:orientation="horizontal" >
<Button
android:id="@+id/setting_cancel_btn"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/dailog_btn_style"
android:text="@string/alert_dialog_cancel"
android:textColor="#0076FF"
android:layout_weight="1"/>
<View
android:layout_width="0.1dp"
android:layout_height="match_parent"
android:background="#334D4D4D"/>
<Button
android:id="@+id/setting_ok_btn"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/dailog_btn_style"
android:textColor="#0076FF"
android:text="@string/alert_dialog_ok"
android:layout_weight="1"/>
</LinearLayout>
</RelativeLayout>
aa_dialog_bg.xml 是对话框自定义样式的布局:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:radius="15dp"
/>
<solid android:color="#FFFFFF" />
</shape>
java 代码如下,写在要弹框的位置:
LayoutInflater inflater = LayoutInflater.from(ATBluetoothActivity.this);
View dialog_view = inflater.inflate(R.layout.layout_dialog, null);
// 对话框
final Dialog dialog = new Dialog(ATBluetoothActivity.this);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(0));
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.show();
// 设置宽度为屏幕的宽度
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
lp.width = 270; // 设置弹框宽度
lp.height = 170; //设置弹框高度
dialog.getWindow().setAttributes(lp);
dialog.getWindow().setContentView(dialog_view);
TextView title_text = (TextView) dialog_view.findViewById(R.id.setting_title);
final EditText input_text = (EditText) dialog_view.findViewById(R.id.setting_edit);
Button postiveBtn = (Button) dialog_view.findViewById(R.id.setting_ok_btn);
Button cancelBtn = (Button) dialog_view.findViewById(R.id.setting_cancel_btn);
title_text.setText(mSettingName[position]);
input_text.setHint(mSettingValue[position]);
switch(mSettingName[position]) {
case R.string.pin:
input_text.setInputType(EditorInfo.TYPE_CLASS_NUMBER | EditorInfo.TYPE_NUMBER_FLAG_DECIMAL);
break;
}
postiveBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String value = input_text.getText().toString();
mSettingValue[index] = value;
try {
switch(mSettingName[index]) {
case R.string.device_name:
mTW.mBTAdapter.setName(mSettingValue[index]);
break;
case R.string.pin:
SystemProperties.set("persist.service.bdroid.pincode", mSettingValue[index]);
break;
}
} catch (Exception e) {
}
mAdapter2.notifyDataSetChanged();
dialog.dismiss();
}
});
cancelBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="270dp"
android:layout_height="165dp"
android:background="@drawable/aa_dialog_bg"
android:orientation="vertical" >
<TextView
android:id="@+id/setting_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="@string/device_name"
android:textColor="#030303"
/>
<EditText
android:id="@+id/setting_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/setting_title"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_marginTop="20dp"
android:autoText="false"
android:capitalize="none"
android:gravity="fill_horizontal"
android:scrollHorizontally="true"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceMedium" />
<View
android:id="@+id/center_line"
android:layout_width="match_parent"
android:layout_height="0.1dp"
android:background="#334D4D4D"
android:layout_marginTop="20dp"
android:layout_below="@id/setting_edit"
/>
<LinearLayout
android:id="@+id/buttonLayout"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_below="@id/center_line"
android:orientation="horizontal" >
<Button
android:id="@+id/setting_cancel_btn"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/dailog_btn_style"
android:text="@string/alert_dialog_cancel"
android:textColor="#0076FF"
android:layout_weight="1"/>
<View
android:layout_width="0.1dp"
android:layout_height="match_parent"
android:background="#334D4D4D"/>
<Button
android:id="@+id/setting_ok_btn"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/dailog_btn_style"
android:textColor="#0076FF"
android:text="@string/alert_dialog_ok"
android:layout_weight="1"/>
</LinearLayout>
</RelativeLayout>
aa_dialog_bg.xml 是对话框自定义样式的布局:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:radius="15dp"
/>
<solid android:color="#FFFFFF" />
</shape>
java 代码如下,写在要弹框的位置:
LayoutInflater inflater = LayoutInflater.from(ATBluetoothActivity.this);
View dialog_view = inflater.inflate(R.layout.layout_dialog, null);
// 对话框
final Dialog dialog = new Dialog(ATBluetoothActivity.this);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(0));
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.show();
// 设置宽度为屏幕的宽度
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
lp.width = 270; // 设置弹框宽度
lp.height = 170; //设置弹框高度
dialog.getWindow().setAttributes(lp);
dialog.getWindow().setContentView(dialog_view);
TextView title_text = (TextView) dialog_view.findViewById(R.id.setting_title);
final EditText input_text = (EditText) dialog_view.findViewById(R.id.setting_edit);
Button postiveBtn = (Button) dialog_view.findViewById(R.id.setting_ok_btn);
Button cancelBtn = (Button) dialog_view.findViewById(R.id.setting_cancel_btn);
title_text.setText(mSettingName[position]);
input_text.setHint(mSettingValue[position]);
switch(mSettingName[position]) {
case R.string.pin:
input_text.setInputType(EditorInfo.TYPE_CLASS_NUMBER | EditorInfo.TYPE_NUMBER_FLAG_DECIMAL);
break;
}
postiveBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String value = input_text.getText().toString();
mSettingValue[index] = value;
try {
switch(mSettingName[index]) {
case R.string.device_name:
mTW.mBTAdapter.setName(mSettingValue[index]);
break;
case R.string.pin:
SystemProperties.set("persist.service.bdroid.pincode", mSettingValue[index]);
break;
}
} catch (Exception e) {
}
mAdapter2.notifyDataSetChanged();
dialog.dismiss();
}
});
cancelBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});