首页 > 代码库 > Activity弹出右侧窗口

Activity弹出右侧窗口

第一步: Activity弹出窗口的布局

<?xml version="1.0" encoding="UTF-8"?>   //布局文件main_top_right_dialog<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent" >    <RelativeLayout        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:layout_marginTop="46dp" >        <LinearLayoutandroid:id="@+id/main_dialog_layout"            android:layout_width="wrap_contenta"            android:layout_height="wrap_content"            android:layout_alignParentRight="true"           // 右边            android:layout_alignParentTop="true"          //   top            android:background="@drawable/title_function_bg"   //黑背景图片9            android:orientation="vertical" >            <LinearLayout                android:layout_width="match_parent"                android:layout_height="wrap_content" >                <ImageView                    android:id="@+id/imageView1"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:layout_gravity="center_vertical"                    android:layout_marginLeft="8dp"                    android:src="@drawable/mm_title_btn_compose_normal" />                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:padding="8dp"                    android:text="发起聊天"                    android:textColor="#fff"                    android:textSize="18sp" />            </LinearLayout>            <LinearLayout                android:layout_width="match_parent"                android:layout_height="wrap_content" >                <ImageView                    android:id="@+id/imageView2"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:layout_gravity="center_vertical"                    android:layout_marginLeft="8dp"                    android:src="@drawable/mm_title_btn_receiver_normal" />                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:padding="8dp"                    android:text="听筒模式"                    android:textColor="#fff"                    android:textSize="18sp" />            </LinearLayout>            <LinearLayout                android:layout_width="match_parent"                android:layout_height="wrap_content" >                <ImageView                    android:id="@+id/imageView3"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:layout_gravity="center_vertical"                    android:layout_marginLeft="8dp"                    android:src="@drawable/mm_title_btn_keyboard_normal" />                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:padding="8dp"                    android:text="登录网页版"                    android:textColor="#fff"                    android:textSize="18sp" />            </LinearLayout>            <LinearLayout                android:layout_width="match_parent"                android:layout_height="wrap_content" >                <ImageView                    android:id="@+id/imageView4"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:layout_gravity="center_vertical"                    android:layout_marginLeft="8dp"                    android:src="@drawable/mm_title_btn_qrcode_normal" />                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:padding="8dp"                    android:text="扫一扫"                    android:textColor="#fff"                    android:textSize="18sp" />            </LinearLayout>        </LinearLayout>    </RelativeLayout></RelativeLayout>

效果图

第二步 .进入到这个弹出的 activity 

public class MainTopRightDialog extends Activity {   //弹出的activity    //private MyDialog dialog;    private LinearLayout layout;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main_top_right_dialog);        //dialog=new MyDialog(this);        layout=(LinearLayout)findViewById(R.id.main_dialog_layout);        layout.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View v) {                // TODO Auto-generated method stub                Toast.makeText(getApplicationContext(), "提示:点击窗口外部关闭窗口!",                         Toast.LENGTH_SHORT).show();                }        });    }    @Override    public boolean onTouchEvent(MotionEvent event){    //点击其他的地方关闭        finish();        return true;    }}

 

 这MainTopRightDialog 在 AndroidManifest.xml的配置

 <activity android:name="MainTopRightDialog" android:theme="@style/MyDialogStyleTop" /> 
styles.xml 的配置 
   <style name="MyDialogStyleTop" parent="android:Theme.Dialog" >        <item name="android:windowAnimationStyle">@style/AnimTop2</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">false</item><!--模糊-->             </style>
styles.xml 的配置(name = AnimTop2)
<style name="AnimTop2" parent="@android:style/Animation">          <item name="android:windowEnterAnimation">@anim/push_top_in2</item>        <item name="android:windowExitAnimation">@anim/push_top_out2</item></style>

res 的anim 文件夹下 push_top_in2.xml

<?xml version="1.0" encoding="utf-8"?><!-- 上下滑入式   scale缩放--><scale   xmlns:android="http://schemas.android.com/apk/res/android"        android:interpolator="@android:anim/accelerate_decelerate_interpolator"          android:fromXScale="1.0"   <!-- 开始时X方向  缩放比例(1.0代表不缩放)-->        android:toXScale="1.0"     <!-- 结尾时X方向  缩放比例(1.0代表不缩放)-->        android:fromYScale="0"   <!-- 结尾时Y方向  缩放比例(0代表,最小开始缩放)-->        android:toYScale="1.0"   <!-- 结尾时y方向  缩放比例(1.0代表缩放原始比例)-->        android:pivotX="0"      <!-- 属性代表缩放的中轴点X坐标-->        android:pivotY="10%"    <!-- 代表缩放的中轴点Y坐标-->        android:duration="200" />  <!-- 代表动画持续的时间,单位为毫秒-->

res 的anim 文件夹下push_top_out2.xml

<?xml version="1.0" encoding="utf-8"?><scale   xmlns:android="http://schemas.android.com/apk/res/android"   //scale代表缩放        android:interpolator="@android:anim/accelerate_decelerate_interpolator"          android:fromXScale="1.0"    <!-- 开始时X方向  缩放比例(1.0代表不缩放)-->        android:toXScale="1.0"   <!-- 结尾时X方向  缩放比例(1.0代表不缩放)-->        android:fromYScale="1.0"    <!-- 结尾时y方向  缩放比例(1.0代表缩放原始比例)-->        android:toYScale="0"    <!-- 结尾时Y方向  缩放比例(0代表,最小开始缩放)-->        android:pivotX="0"      <!-- 属性代表缩放的中轴点X坐标-->        android:pivotY="10%"    <!-- 代表缩放的中轴点Y坐标-->        android:duration="200" />    <!-- 代表动画持续的时间,单位为毫秒-->

 

Activity弹出右侧窗口