尖角
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 内寫自己需要的邏輯就行了。。