dialog 弹窗使用很方便,我们都知道 Activity 也能搞成 dialog 形式,更加方便,下面我们下一个 dialog 样式的Activity 吧:
1、在 value/style.xml 内写给即将设置的 dialog-Activity 样式,楼主仅仅写一写必要的样式;
<style name="dialog_style" parent="@style/AppTheme">
<!--是否悬浮在activity上-->
<item name="android:windowIsFloating">true</item>
<!--透明是否-->
<item name="android:windowIsTranslucent">true</item>
<item name="android:background">@null</item>
<!--设置没有窗口标题、dialog标题等各种标题-->
<item name="android:windowNoTitle">true</item>
<item name="android:title">@null</item>
<item name="android:dialogTitle">@null</item>
</style>
或者
<!--dialog样式的界面-->
<style name="dialog_style" parent="Theme.AppCompat.Light.Dialog">
<!--是否悬浮在activity上-->
<item name="android:windowIsFloating">true</item>
<!--透明是否-->
<item name="android:windowIsTranslucent">true</item>
<item name="android:background">@null</item>
<!--设置没有窗口标题、dialog标题等各种标题-->
<item name="android:windowNoTitle">true</item>
<item name="android:title">@null</item>
<item name="windowNoTitle">true</item>
<item name="android:dialogTitle">@null</item>
<!--点击 dialog Activity 周围是否关闭弹窗 true 关闭(默认为true) false 为不关闭-->
<item name="android:windowCloseOnTouchOutside">false</item>
</style>
仔细的朋友可能会发现这两个style 导致的图片是不一样的,第二个的弹窗周边是圆角,第一个是尖角。
2、在 manifest 相应的 Activity 内引入 style
<activity
android:name=".activity.AddPeopleActivity"
android:theme="@style/dialog_style" />
3、写布局,自己想要什么样的写什么样的就行了
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="10dp"
android:paddingEnd="20dp"
android:paddingStart="20dp"
android:paddingTop="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginBottom="10dp"
android:gravity="center"
android:text="添加上级"
android:textColor="#000000"
android:textSize="20sp" />
<Button
android:id="@+id/btn_add_people_scan"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_gravity="center"
android:background="@drawable/shape_button_bg"
android:text="扫 码 添 加"
android:textColor="#ffffff"
android:textSize="@dimen/txtsize_15" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="手机号:"
android:textColor="@color/contents_text"
android:textSize="@dimen/txtsize_15" />
<EditText
android:id="@+id/et_add_people_phone"
android:layout_width="match_parent"
android:layout_height="30dp"
android:background="@drawable/shape_dialog_et"
android:hint="请输入手机号"
android:inputType="phone"
android:lines="1"
android:paddingEnd="10dp"
android:paddingStart="10dp"
android:singleLine="true"
android:textColor="#000000"
android:textSize="@dimen/txtsize_15" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_add_people_cod"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_alignParentStart="true"
android:text="验证码:"
android:textColor="@color/contents_text"
android:textSize="@dimen/txtsize_15" />
<EditText
android:id="@+id/et_add_people_code"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_marginEnd="5dp"
android:layout_toEndOf="@+id/tv_add_people_cod"
android:layout_toStartOf="@+id/tv_add_people_code"
android:background="@drawable/shape_dialog_et"
android:lines="1"
android:paddingEnd="5dp"
android:paddingStart="5dp"
android:singleLine="true"
android:textColor="@color/contents_text"
android:textSize="@dimen/txtsize_15" />
<TextView
android:id="@+id/tv_add_people_code"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_alignParentEnd="true"
android:background="@drawable/shape_button_bg"
android:gravity="center"
android:paddingEnd="5dp"
android:paddingStart="5dp"
android:text="获取验证码"
android:textColor="#ffffff" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<Button
android:id="@+id/btn_add_people_y"
android:layout_width="0dp"
android:layout_height="30dp"
android:layout_marginEnd="10dp"
android:layout_weight="1"
android:background="@drawable/shape_button_bg"
android:text="确定"
android:textColor="#ffffff"
android:textSize="@dimen/txtsize_15" />
<Button
android:id="@+id/btn_add_people_n"
android:layout_width="0dp"
android:layout_height="30dp"
android:layout_marginStart="10dp"
android:layout_weight="1"
android:background="@drawable/bg_group_delete_shape"
android:text="取消"
android:textColor="#ffffff"
android:textSize="@dimen/txtsize_15" />
</LinearLayout>
</LinearLayout>
剩下的发挥就看你自己了,在自己在 Activity 内写自己需要的逻辑就行了。。