zoukankan      html  css  js  c++  java
  • Activity--弹出底部窗口

    第一步 : 退出时候的布局文件exit_dialog_from_settings.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center_horizontal" >
            <LinearLayout
           android:id="@+id/exit_layout2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"   //高度包裹内容
                android:layout_gravity="bottom"        //父布局 的底部
                android:background="@drawable/exit_dialog_bg"       // 黑背景图片 9
                android:gravity="center_horizontal"   //  里面 横向 居中
                android:orientation="vertical" >
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="4dp"
                    android:gravity="center"
                    android:text="退出后不会删除任何历史数据,下次
    登录依然可以使用本帐号"
                    android:textColor="#fff"
                    android:textSize="16sp" />
    
                <Button
                    android:id="@+id/exitBtn0"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_marginTop="15dp"
                    android:background="@drawable/btn_style_alert_dialog_special"
                    android:gravity="center"
                    android:onClick="exitbutton0"
                    android:text="退出登录"
                    android:textColor="#fff"
                    android:textSize="18sp" />
    
                <Button
                    android:id="@+id/exitBtn1"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="10dp"
                    android:layout_marginLeft="10dp"   //间隔左边
                    android:layout_marginRight="10dp"   //间隔右边
                    android:layout_marginTop="15dp"
                    android:background="@drawable/btn_style_alert_dialog_cancel"
                    android:gravity="center"
                    android:onClick="exitbutton1"
                    android:text="取消"
                    android:textColor="#fff"
                    android:textSize="18sp" />
            </LinearLayout>
        </LinearLayout>
    </RelativeLayout>

     里面的drawable 下  btn_style_alert_dialog_special.xml

    <?xml version="1.0" encoding="UTF-8"?>  //btn_style_alert_dialog_special
    <selector
      xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true" android:drawable="@drawable/btn_style_alert_dialog_special_pressed" />
        <item android:drawable="@drawable/btn_style_alert_dialog_special_normal" />
    </selector>

     btn_style_alert_dialog_cancel.xml 选择器

    <?xml version="1.0" encoding="UTF-8"?>//btn_style_alert_dialog_cancel
    <selector
      xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true" android:drawable="@drawable/btn_style_alert_dialog_button_pressed" />
        <item android:drawable="@drawable/btn_style_alert_dialog_cancel_normal" />
    </selector>

    第二步 : 弹出窗口的ExitFromSettings 

    public class ExitFromSettings extends Activity {
        //private MyDialog dialog;
        private LinearLayout layout;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.exit_dialog_from_settings);
            //dialog=new MyDialog(this);
            layout=(LinearLayout)findViewById(R.id.exit_layout2);
            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;
        }
        
        public void exitbutton1(View v) {  // 关闭当前
            this.finish();        
          }  
        public void exitbutton0(View v) {  
            this.finish();
            MainWeixin.instance.finish();//关闭Main 这个Activity
          }  
        
    }

      AndroidManifest.xml 中配置ExitFromSettings

      <activity android:name="ExitFromSettings" android:theme="@style/MyDialogStyleBottom"
    style.xml的配置 
      <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>
    style.xml的配置 name= "AnimBottom"
    <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>
    anim文件夹下: push_bottom_in     (translate位移动画)
    <?xml version="1.0" encoding="utf-8"?>
    <!-- 上下滑入式 -->
    <set xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <translate
            android:duration="200"
            android:fromYDelta="50%p"  //从屏幕下面的 50% 进入
            android:toYDelta="0" />     //  到 0 的位置
        
    </set>
    anim文件夹下: push_bottom_out
    <?xml version="1.0" encoding="utf-8"?>
    <!-- 上下滑入式   位移动画translate-->
    <set xmlns:android="http://schemas.android.com/apk/res/android" >
        
        <translate
            android:duration="200"
            android:fromYDelta="0"     // 从屏幕0 的位置
            android:toYDelta="50%p" />   //  到屏幕向下50%
    
    </set>


  • 相关阅读:
    cf1100 F. Ivan and Burgers
    cf 1033 D. Divisors
    LeetCode 17. 电话号码的字母组合
    LeetCode 491. 递增的子序列
    LeetCode 459.重复的子字符串
    LeetCode 504. 七进制数
    LeetCode 3.无重复字符的最长子串
    LeetCode 16.06. 最小差
    LeetCode 77. 组合
    LeetCode 611. 有效三角形个数
  • 原文地址:https://www.cnblogs.com/java-g/p/4149624.html
Copyright © 2011-2022 走看看