Android dialog Activity 使用

作者: 吾乃韩小呆 | 来源:发表于2018-07-24 17:05 被阅读5次
    尖角

    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 内写自己需要的逻辑就行了。

    相关文章

      网友评论

      • 哈达拉进来了:一直用的DialogFragment
        吾乃韩小呆:@快乐徘徊 好的好的,那我再来一篇,dialogfragment的,fragment不管怎么样也比activity好用😈
      • Aldrich_N:系统有个DialogActivity
        吾乃韩小呆:@Aldrich_N 的确是有的,但是某些功能就不可统一管控了,所有的activity均是继承自 BaseActivity 的,所以使用的这个方式。
      • cyixlq:小米8?
        cyixlq:@吾乃韩小呆 可以,很棒!
        吾乃韩小呆:@cyixlq 8se😒,不要提小米8,被女票抢走了

      本文标题:Android dialog Activity 使用

      本文链接:https://www.haomeiwen.com/subject/awcymftx.html