底部弹出全屏dialog

来源:互联网 发布:淘宝搜同款 编辑:程序博客网 时间:2024/05/22 10:42

1 全屏dialog

a: 全屏dialog layout

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gravity="center"    tools:context="com.cn.wq.dialog.DialogFullActivity">    <ImageView        android:id="@+id/imageView"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_marginBottom="8dp"        android:layout_marginLeft="8dp"        android:layout_marginRight="8dp"        android:layout_marginTop="8dp"        android:layout_weight="1"        android:src="@mipmap/ic_launcher_round" />    <ImageView        android:id="@+id/imageView2"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_marginBottom="8dp"        android:layout_marginLeft="8dp"        android:layout_marginRight="8dp"        android:layout_marginTop="8dp"        android:layout_weight="1"        android:src="@mipmap/ic_launcher_round" />    <ImageView        android:id="@+id/imageView3"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_marginBottom="8dp"        android:layout_marginLeft="8dp"        android:layout_marginRight="8dp"        android:layout_marginTop="8dp"        android:layout_weight="1"        android:src="@mipmap/ic_launcher_round" /></LinearLayout>

b: theme代码,需要注意的是,必须继承activity,否则会报theme错误

  <!-- Base application theme. -->    <style name="AppTheme" parent="Theme.AppCompat.Light">        <!-- Customize your theme here. -->        <item name="colorPrimary">@color/colorPrimary</item>        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>        <item name="colorAccent">@color/colorAccent</item>    </style>    <!--activity 透明-淡入淡出-->    <style name="activity_translucent" parent="Theme.AppCompat.Dialog">        <item name="windowActionBar">false</item>        <item name="windowActionBarOverlay">false</item>        <item name="android:windowAnimationStyle">@style/AnimBottom</item>        <item name="windowActionModeOverlay">false</item>        <!-- 边框 -->        <item name="android:windowFrame">@null</item>        <!-- 是否浮现在activity之上 -->        <item name="android:windowIsFloating">false</item>        <!-- 半透明 -->        <item name="android:windowIsTranslucent">true</item>        <!-- 无标题 -->        <item name="android:windowNoTitle">true</item>        <item name="android:windowFullscreen">true</item>        <!-- 背景透明 -->        <item name="android:windowBackground">@color/half_transparent</item>        <!--背景变暗-->        <item name="android:backgroundDimEnabled">true</item>    </style>

c manifest.xml文件

  <activity android:name=".MainActivity"            android:theme="@style/Theme.AppCompat.Light">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity android:name=".DialogFullActivity"            android:configChanges="keyboardHidden|orientation|screenSize"            android:theme="@style/activity_translucent"            />

d:activity代码,必须重写onFinish方法,重设退出动画

package com.cn.wq.dialog;import android.app.Activity;import android.os.Bundle;public class DialogFullActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_dialog_full);    }    @Override    public void finish() {        super.finish();        overridePendingTransition(0, R.anim.push_bottom_out);    }}

## 源码链接 ##

原创粉丝点击