一个activity悬浮在另一个activity上,背景透明化效果
2017-06-27 15:25
351 查看
在anim文件中新建两个xml文件
push_bottom_in.xml
<!--
进入效果
-->
<set
xmlns:android="http://schemas.android.com/apk/res/android"
>
<translate
android:duration="200"
android:fromYDelta="50%p"
android:toYDelta="0"
/>
</set>
push_bottom_out.xml
<!--
退出效果
-->
<set
xmlns:android="http://schemas.android.com/apk/res/android"
>
<translate
android:duration="200"
android:fromYDelta="0"
android:toYDelta="50%p"
/>
</set>
在values文件夹中的styles中定义效果样式
<!--
activity进入和退出效果
-->
<style
name="AnimBottom"
parent="@android:style/Animation">
<item
name="android:windowEnterAnimation">@anim/push_bottom_in</item>
<item
name="android:windowExitAnimation">@anim/push_bottom_out</item>
</style>
<!--
界面透明悬浮效果
-->
<style
name="MyDialogStyleBottom"
parent="android:Theme.Dialog"
>
<item
name="android:windowAnimationStyle">@style/AnimBottom</item>
<item
name="android:windowFrame">@null</item><!--边框-->
<item
name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
<item
name="android:windowIsTranslucent">true</item><!--半透明-->
<item
name="android:windowNoTitle">true</item><!--无标题-->
<item
name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
<item
name="android:backgroundDimEnabled">true</item><!--模糊-->
</style>
注意:在定义的类只能继承Activity (否则会闪退)
在代码中需要加上一段代码使其充满整个屏幕
getWindow().setLayout(ActionBar.LayoutParams.MATCH_PARENT,
ActionBar.LayoutParams.MATCH_PARENT);
最后在Layout该布局中引用
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_gravity="bottom"
android:orientation="vertical">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="65dp"
android:gravity="center_horizontal"
android:background="@color/lan"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/bai"
android:textSize="17.0sp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="账户选择"/>
</RelativeLayout>
<ListView
android:id="@+id/lv_zhifufangshi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/bai"
android:divider="@null"
android:fadingEdge="none"
android:listSelector="@android:color/transparent"
android:scrollbars="none"
>
</ListView>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
push_bottom_in.xml
<!--
进入效果
-->
<set
xmlns:android="http://schemas.android.com/apk/res/android"
>
<translate
android:duration="200"
android:fromYDelta="50%p"
android:toYDelta="0"
/>
</set>
push_bottom_out.xml
<!--
退出效果
-->
<set
xmlns:android="http://schemas.android.com/apk/res/android"
>
<translate
android:duration="200"
android:fromYDelta="0"
android:toYDelta="50%p"
/>
</set>
在values文件夹中的styles中定义效果样式
<!--
activity进入和退出效果
-->
<style
name="AnimBottom"
parent="@android:style/Animation">
<item
name="android:windowEnterAnimation">@anim/push_bottom_in</item>
<item
name="android:windowExitAnimation">@anim/push_bottom_out</item>
</style>
<!--
界面透明悬浮效果
-->
<style
name="MyDialogStyleBottom"
parent="android:Theme.Dialog"
>
<item
name="android:windowAnimationStyle">@style/AnimBottom</item>
<item
name="android:windowFrame">@null</item><!--边框-->
<item
name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
<item
name="android:windowIsTranslucent">true</item><!--半透明-->
<item
name="android:windowNoTitle">true</item><!--无标题-->
<item
name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
<item
name="android:backgroundDimEnabled">true</item><!--模糊-->
</style>
注意:在定义的类只能继承Activity (否则会闪退)
在代码中需要加上一段代码使其充满整个屏幕
getWindow().setLayout(ActionBar.LayoutParams.MATCH_PARENT,
ActionBar.LayoutParams.MATCH_PARENT);
最后在Layout该布局中引用
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_gravity="bottom"
android:orientation="vertical">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="65dp"
android:gravity="center_horizontal"
android:background="@color/lan"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/bai"
android:textSize="17.0sp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="账户选择"/>
</RelativeLayout>
<ListView
android:id="@+id/lv_zhifufangshi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/bai"
android:divider="@null"
android:fadingEdge="none"
android:listSelector="@android:color/transparent"
android:scrollbars="none"
>
</ListView>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
相关文章推荐
- 如何实现当一个应用调用另一个应用的某个activity的时候,让这个activity类似dialog的效果,但是这个应用单独运行的时候还是铺满屏幕的效果
- 将一个activity以对话框的形式悬浮在另一个activity之上
- 一个不错的可拖动层遮罩加ALPHA滤镜(点击弹出后背景变浅色,信息提示框效果)
- 一个不错的可拖动层遮罩加ALPHA滤镜(点击弹出后背景变浅色,信息提示框效果)
- 如何实现一个窗体移动时另一个窗体也跟着动的效果
- 一.创建一个Button监听器,使Button能打开另一个activity并传值
- Android在一个应用中启动另一个应用的Activity时失败的解决办法
- 弹出窗口悬浮,背景页面变灰,类似网易邮箱的半透明信息提示效果
- 分享使用jQuery和CSS实现的一个超酷缩略图悬浮逼近效果
- 改装了下GradientBorder,解决了一个canvas有2种背景的效果
- 在一个程序启动另一个程序的Activity
- 分享使用jQuery和CSS实现的一个超酷缩略图悬浮逼近效果
- js利用div背景,做一个竖线的效果。
- 在一个Activity bull中启动另一个Activity secondbull的方法 2 启动拨号器的方法
- 在一个Activity bull中启动另一个Activity secondbull的方法 1
- 使用一个小图片tile平铺到ImageView中或Activity背景
- 一个不错的可拖动层遮罩加ALPHA滤镜(点击弹出后背景变浅色,信息提示框效果)
- Android 开发一个Activity 启动另一个Activity碰到的一个问题
- 在一个Activity中启另一个Activity的方法
- 在一个Android application 调用另一个 application 里的 Activity 和 Service