一个activity悬浮在另一个activity上,背景透明化效果

来源:互联网 发布:什么软件支持货到付款 编辑:程序博客网 时间:2024/06/06 12:59
在anim文件中新建两个xml文件
push_bottom_in.xml
<!--进入效果-->
<setxmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="200"
android:fromYDelta="50%p"
android:toYDelta="0"/>
</set>

push_bottom_out.xml

<!--退出效果-->
<setxmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="200"
android:fromYDelta="0"
android:toYDelta="50%p"/>
</set>
在values文件夹中的styles中定义效果样式
<!--activity进入和退出效果-->
<stylename="AnimBottom"parent="@android:style/Animation">
<itemname="android:windowEnterAnimation">@anim/push_bottom_in</item>
<itemname="android:windowExitAnimation">@anim/push_bottom_out</item>
</style>
<!--界面透明悬浮效果-->
<stylename="MyDialogStyleBottom"parent="android:Theme.Dialog">
<itemname="android:windowAnimationStyle">@style/AnimBottom</item>
<itemname="android:windowFrame">@null</item><!--边框-->
<itemname="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
<itemname="android:windowIsTranslucent">true</item><!--半透明-->
<itemname="android:windowNoTitle">true</item><!--无标题-->
<itemname="android:windowBackground">@android:color/transparent</item><!--背景透明-->
<itemname="android:backgroundDimEnabled">true</item><!--模糊-->
</style>

注意:在定义的类只能继承Activity (否则会闪退)
在代码中需要加上一段代码使其充满整个屏幕
getWindow().setLayout(ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.MATCH_PARENT);

最后在Layout该布局中引用
<RelativeLayoutxmlns: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>