Android中自定义Dialog常用的两种方式
16lz
2021-01-23
Android中自定义Dialog常用的两种方式
第一种:
my_dialog.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical" ><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:orientation="horizontal"android:padding="2dip" ><EditTextandroid:id="@+id/edittext1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:typeface="monospace"android:width="180dip" /></LinearLayout></LinearLayout>
LayoutInflater inflater = LayoutInflater.from(EA6Activity.this);final View DialogView = inflater.inflate(R.layout.dialog, null);
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setView(DialogView);
.
.
.
builder.create();
第二种:
public class MyDialog extends Dialog{
public MyDialog(Context context) { super(context); // TODO Auto-generated constructor stub
}
@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState);
//全屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//无标题 requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.my_dialog);
}
}
实现的时候new就可以了,当然,有的说Activity可以把启动模式调为Dialog也可以实现,是的,可以实现,但毕竟还是Activity。