android开发环境搭建|android开发 Activity设置模拟对话框效果

更新时间:2019-12-07    来源:php入门    手机版     字体:

【www.bbyears.com--php入门】

来先看下效果,有个感性的认识。

01.png


中间那个提示其实是一个activity,好的,下面开始一步步实现这个神奇的效果。

第一步:设计对话框页面activity_simulate_dialog.xml

  
  
  
      
  
          
  
          
  
          
  
              
  
              
          
      
  




第二步:编写弹出窗Activity SimulateDialogActivity.java

ackage com.figo.study;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.view.MotionEvent;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;  
  
public class SimulateDialogActivity extends Activity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        // TODO Auto-generated method stub  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_simulate_dialog);  
        Button btn_cancel = (Button) findViewById(R.id.btn_cancel);  
        btn_cancel.setOnClickListener(new OnClickListener() {  
  
            @Override  
            public void onClick(View v) {  
                finish();  
  
            }  
        });  
        Button btn_confirm = (Button) findViewById(R.id.btn_confirm);  
        btn_confirm.setOnClickListener(new OnClickListener() {  
  
            @Override  
            public void onClick(View v) {  
                finish();  
  
            }  
        });  
    }  
    //点击外部区域关闭该activity  
    @Override  
    public boolean onTouchEvent(MotionEvent event) {  
        finish();  
        return true;  
    }  
}




   第三步:style.xml设计style

    @android:color/transparent  
    true  
    true  
    @style/Anim_scale  
  
  
    @anim/scale_in  
    @anim/scale_out  
    @anim/scale_in  
    @anim/scale_out



第四步:anim文件夹设计动画

页面进入动画scale_in.xml

  
  
  
      
  



面退出动画scale_out.xml

  
  
  


第五步:关键一步,在AndroidManifest.xml注册模拟对话框Activity

  
    


第六步:调用对话框Activity


Button btnDialog = (Button) findViewById(R.id.btn_dialog);  
btnDialog.setOnClickListener(new OnClickListener() {  
      
    @Override  
    public void onClick(View v) {  
          
        Intent intent = new Intent(TestActivity.this, SimulateDialogActivity.class);    
        startActivity(intent);    
    }  
});







将Android Activity设置成对话框式

将activity设置成对话框样式,只需在activity属性里面增加下面一句代码:

android:theme="@android:style/Theme.Dialog"  

然后可以activity左边增加一个小图片,让它更像Dialog,代码如下:

package com.home.testactivitydialog;  
  
import android.os.Bundle;  
import android.view.Window;  
import android.app.Activity;  
  
public class MainActivity extends Activity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        requestWindowFeature(Window.FEATURE_LEFT_ICON);  
        setTitle("测试对话框式activity");// 设置标题  
        setContentView(R.layout.main);// 设置布局内容  
        // 设置左边图标  
        getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,  
                android.R.drawable.ic_dialog_alert);  
    }  
}


但是上面的设置往往还不能满足实际需求,因为样子、背景和一些属性使用的默认的,下面使用style自定义一个,以后可以根据实际需要自行更改:

  
  
      
    @null  
      
    true  
      
    true  
      
    true  
      
    @null  
      
    @android:color/transparent  
      
    false  
      
    false  



这样在主题里直接引用:
 
android:theme="@style/dialog"  

点击activity空白处不消失也可以代码里面设置,在onCreate()方法里面加上:

setFinishOnTouchOutside(false); 

本文来源:http://www.bbyears.com/jiaocheng/82613.html

热门标签

更多>>

本类排行