Android通过自定义Activity实现悬浮的Dialog详解

 更新时间:2017年05月26日 14:10:34   作者:ROOM先生  
这篇文章主要给大家介绍了关于Android通过自定义Activity实现悬浮的Dialog的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考学习价值,感兴趣的朋友们下面来一起看看吧。

前言

其实实现悬浮的自定义窗体有很多方法,自定义Dialog,自定义layout 均可以实现。自定义activity也是可以的,今天我就介绍一下activity的实现方法。下面来看看详细的介绍:


效果图

如图可以看出,当前的窗体,第一眼其实和dialog没有什么区别,但是它是自定义activity实现。如何实现的呢?

代码如下:

新建activity

@Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 this.requestWindowFeature(Window.FEATURE_NO_TITLE);
 this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
  WindowManager.LayoutParams.FLAG_FULLSCREEN);
 setContentView(R.layout.dialog_show_display_mode);
 WindowManager windowManager = getWindowManager();
 Display display = windowManager.getDefaultDisplay();
 WindowManager.LayoutParams params = getWindow().getAttributes();
// params.height = (int) (display.getHeight() * 0.3);
// params.width = (int) (display.getWidth() * 0.8);
 params.alpha = 1.0f;
 getWindow().setAttributes(params);
 getWindow().setGravity(Gravity.CENTER);
}

layout样式布局:

<?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="match_parent"
 android:background="@color/white"
 android:orientation="vertical">

 <LinearLayout
 android:layout_width="match_parent"
 android:layout_height="45dp">

 <TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_gravity="center"
  android:layout_marginLeft="20dp"
  android:text="语音球开启方式"
  android:textColor="@color/bg_black"
  android:textSize="20dp" />
 </LinearLayout>

 <View
 android:layout_width="match_parent"
 android:layout_height="1dp"
 android:background="@color/forget_password" />

 <LinearLayout
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical">

 <LinearLayout
  android:id="@+id/display_dialog_intelligence_linner"
  android:layout_width="match_parent"
  android:layout_height="65dp"
  android:orientation="horizontal">

  <ImageView
  android:id="@+id/display_dialog_intelligence_iv"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_gravity="center"
  android:src="@mipmap/abc_btn_radio_to_on_mtrl_000" />

  <TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_gravity="center"
  android:layout_marginLeft="10dp"
  android:text="智能显示"
  android:textColor="@color/colorGreen2" />
 </LinearLayout>

 <View
  android:layout_width="match_parent"
  android:layout_height="1dp"
  android:background="@color/forget_password" />

 <LinearLayout
  android:id="@+id/display_dialog_custom_linner"
  android:layout_width="match_parent"
  android:layout_height="65dp"
  android:orientation="horizontal">

  <ImageView
  android:id="@+id/display_dialog_custom_iv"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_gravity="center"
  android:src="@mipmap/abc_btn_radio_to_on_mtrl_000" />

  <TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_gravity="center"
  android:layout_marginLeft="10dp"
  android:text="自定义显示"
  android:textColor="@color/colorGreen2" />
 </LinearLayout>
 </LinearLayout>
</LinearLayout>

style样式:

<style name="activityTheme" parent="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
 <item name="android:windowFrame">@null</item><!--边框-->
 <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
 <item name="android:windowIsTranslucent">false</item><!--半透明-->
 <item name="android:windowNoTitle">true</item><!--无标题-->
 <item name="android:background">@android:color/transparent</item>
 <item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
 <item name="android:backgroundDimEnabled">true</item><!--模糊-->
 </style>

资源文件配置activity:

<activity
  android:name=".__activity.FloatWindowDialogActivity"
  android:screenOrientation="portrait"
  android:theme="@style/activityTheme" />

ok 搞定。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Android实现颜色渐变动画效果

    Android实现颜色渐变动画效果

    这篇文章主要为大家详细介绍了Android实现颜色渐变动画效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • BroadcastReceiver动态注册案例详解

    BroadcastReceiver动态注册案例详解

    这篇文章主要为大家详细介绍了BroadcastReceiver动态注册案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • Android菜单的定义及ActionBar的实现

    Android菜单的定义及ActionBar的实现

    本篇文章主要介绍了Android菜单的定义及ActionBar的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Android app开发中的Fragment入门学习教程

    Android app开发中的Fragment入门学习教程

    这篇文章主要介绍了Android app开发中的Fragment入门学习教程,包括Fragment的创建和XML布局文件中的Fragment定义等,需要的朋友可以参考下
    2016-02-02
  • Android编程动态按钮实现方法

    Android编程动态按钮实现方法

    这篇文章主要介绍了Android编程动态按钮实现方法,分享了onTouch方法及xml调用两种实现技巧,需要的朋友可以参考下
    2016-10-10
  • Android 音乐播放器的开发实例详解

    Android 音乐播放器的开发实例详解

    本文主要讲解Android 音乐播放器的开发,这里给大家提供一个简单的示例代码,和实现效果图,有需要开发音乐播放器的朋友可以参考下
    2016-08-08
  • 仿ios状态栏颜色和标题栏颜色一致的实例代码

    仿ios状态栏颜色和标题栏颜色一致的实例代码

    下面小编就为大家分享一篇仿ios状态栏颜色和标题栏颜色一致的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Jetpack Compose自定义动画与Animatable详解

    Jetpack Compose自定义动画与Animatable详解

    在今年的Google/IO大会上,亮相了一个全新的 Android 原生 UI 开发框架-Jetpack Compose, 与苹果的SwiftIUI一样,Jetpack Compose是一个声明式的UI框架,这篇文章主要介绍了Jetpack Compose自定义动画与Animatable
    2022-10-10
  • Android studio实现app登录界面

    Android studio实现app登录界面

    这篇文章主要为大家详细介绍了Android studio实现app登录界面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • android仿百度福袋红包界面

    android仿百度福袋红包界面

    双十一马上到了,又进入到抢红包的季节,本篇文章介绍了android仿百度福袋红包界面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-11-11

最新评论