弹出全屏mfc dialog 状态栏怎么防止android手机状态栏被顶上去

当前访客身份:游客 [
这个人很懒,啥也没写
:引用来自“laojiadingxi”的评论DensityUtil这个...
:DensityUtil这个类找不到
:但是有个问题,小米手机上 ,点击表情 输入不进时...
今日访问:42
昨日访问:198
本周访问:1098
本月访问:2132
所有访问:17104
【Android】Dialog从下往上弹起(Dialog全屏,模态显示)
发表于9个月前( 14:12)&&
阅读(2204)&|&评论()
0人收藏此文章,
还有把Activity设置成Dialog样式
public&class&MyDialog&extends&Dialog&implements&android.view.View.OnClickListener{
private&Button&
View&localV
private&RelativeLayout&
protected&MyDialog(Context&context)&{
super(context);
this.context&=&&
protected&void&onCreate(Bundle&savedInstanceState)&{
super.onCreate(savedInstanceState);
&&&&&&&&requestWindowFeature(Window.FEATURE_NO_TITLE);
&&&&&&&&//&这句代码换掉dialog默认背景,否则dialog的边缘发虚透明而且很宽
&&&&&&&&//&总之达不到想要的效果
&&&&&&&&getWindow().setBackgroundDrawableResource(android.R.color.transparent);
&&&& LayoutInflater&inflater&=&((AnimationActivity)&context).getLayoutInflater();&&&&&
localView&=&inflater.inflate(R.layout.animclearpan,&null);
localView.setAnimation(AnimationUtils.loadAnimation(context,&R.anim.slide_bottom_to_top));&&
setContentView(localView);&&&
&&&&&&&&//&这句话起全屏的作用
&&&&&&&&getWindow().setLayout(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
&&&&&&&&initView();
initListener();
public&boolean&onTouchEvent(MotionEvent&event)&{
this.dismiss();&
return&super.onTouchEvent(event);
private&void&initListener()&{
cancel.setOnClickListener(this);&
clearallpan.setOnClickListener(this);&
private&void&initView()&{
cancel&=&(Button)&findViewById(R.id.cancel);
clearallpan&=&(RelativeLayout)&findViewById(R.id.clearallpan);
public&void&onClick(View&v)&{
switch&(v.getId())&{
case&R.id.cancel:
&&&&this.dismiss();&&&&
case&R.id.clearallpan:
Toast.makeText(context,&"请在该区域之外点击",&0).show();
animclearpan.xml布局文件如下:
&?xml&version="1.0"&encoding="utf-8"?&
&RelativeLayout&xmlns:android="/apk/res/android"
&&&&android:layout_width="fill_parent"
&&&&android:layout_height="fill_parent"
&&&&android:orientation="vertical"&&
&&&&&!--&android:background="@drawable/clearpanbackground"&--&
&&RelativeLayout&
&&&&&android:id="@+id/clearallpan"
&&&&&android:layout_width="fill_parent"
&&&&&android:layout_height="300dp"
&&&&&android:layout_alignParentBottom="true"
&&&&&android:background="@android:color/white"
&&&&&&Button&
&&&&&&&&&android:id="@+id/clearall"
&&&&&&&&&android:layout_width="fill_parent"
&&&&&&&&&android:layout_height="wrap_content"
&&&&&&&&&android:layout_marginLeft="10dip"
&&&&&&&&&android:layout_marginRight="10dip"
&&&&&&&&&android:layout_marginTop="20dip"
&&&&&&&&&android:layout_marginBottom="10dip"
&&&&&&&&&android:text="删除所有"
&&&&&&&&&android:textColor="#FFFFFFFF"/&
&&&&&&Button&
&&&&&&&&&android:id="@+id/cancel"
&&&&&&&&&android:layout_width="fill_parent"
&&&&&&&&&android:layout_height="wrap_content"
&&&&&&&&&android:layout_marginLeft="10dip"
&&&&&&&&&android:layout_marginRight="10dip"
&&&&&&&&&android:layout_marginTop="10dip"
&&&&&&&&&android:layout_marginBottom="20dip"
&&&&&&&&&android:text="取消"
&&&&&&&&&android:layout_below="@id/clearall"
&&&&&&&&&android:textColor="#FFFFFFFF"/&
&&/RelativeLayout&
&/RelativeLayout&
动画效果slide_bottom_to_top.xml文件如下:
&?xml&version="1.0"&encoding="utf-8"?&
&set&xmlns:android="/apk/res/android"
&&&&android:interpolator="@android:anim/accelerate_interpolator"&&
&&&&&translate
&&&&&&&&android:duration="300"
&&&&&&&&android:fromYDelta="100.0%"
&&&&&&&&android:toYDelta="10.000002%"&/&
&&&&&alpha
&&&&&&&&android:duration="50"
&&&&&&&&android:fromAlpha="0.0"
&&&&&&&&android:toAlpha="1.0"&/&
自定义Dialog,然后设置为透明背景,然后在View上面设置动画
2: 我们也可以把Acitivity变成Dialog样式,但是这样有个缺点:就是不同的手机room对activity中的跳转样式有所变化,当我设置Activity退出的动画时,没有效果。所以如果需求要求全屏的类似Dialog的样式,就自定义Dialog显示,不要把Activity转成Dialog样式.
一下是把Activity变成Dialog样式
1)Activity如下:
package&com.example.
import&android.app.A
import&android.os.B
import&android.view.MotionE
import&android.view.V
import&android.view.View.OnClickL
import&android.widget.B
import&android.widget.LinearL
import&android.widget.T
public&class&SelectPicPopupWindow&extends&Activity&implements&OnClickListener{
private&Button&btn_take_photo,&btn_pick_photo,&btn_
private&LinearLayout&
protected&void&onCreate(Bundle&savedInstanceState)&{
super.onCreate(savedInstanceState);
setContentView(R.layout.alert_dialog);
btn_take_photo&=&(Button)&this.findViewById(R.id.btn_take_photo);
btn_pick_photo&=&(Button)&this.findViewById(R.id.btn_pick_photo);
btn_cancel&=&(Button)&this.findViewById(R.id.btn_cancel);
layout=(LinearLayout)findViewById(R.id.pop_layout);
//添加选择窗口范围监听可以优先获取触点,即不再执行onTouchEvent()函数,点击其他地方时执行onTouchEvent()函数销毁Activity
layout.setOnClickListener(new&OnClickListener()&{
public&void&onClick(View&v)&{
//&TODO&Auto-generated&method&stub
Toast.makeText(getApplicationContext(),&"提示:点击窗口外部关闭窗口!",&
Toast.LENGTH_SHORT).show();
//添加按钮监听
btn_cancel.setOnClickListener(this);
btn_pick_photo.setOnClickListener(this);
btn_take_photo.setOnClickListener(this);
//实现onTouchEvent触屏函数但点击屏幕时销毁本Activity
public&boolean&onTouchEvent(MotionEvent&event){
public&void&onClick(View&v)&{
switch&(v.getId())&{
case&R.id.btn_take_photo:
case&R.id.btn_pick_photo:
case&R.id.btn_cancel:
样式alert_dialog.xml如下
&?xml&version="1.0"&encoding="utf-8"?&
&RelativeLayout&
&&&&xmlns:android="/apk/res/android"
&&&&android:layout_width="fill_parent"
&&&&android:layout_height="wrap_content"
&&&&android:gravity="center_horizontal"
&&&&android:orientation="vertical"
&LinearLayout&
&&&&android:id="@+id/pop_layout"
&&&&android:layout_width="fill_parent"
&&&&android:layout_height="wrap_content"
&&&&android:gravity="center_horizontal"
&&&&android:orientation="vertical"
&&&&android:layout_alignParentBottom="true"
&&&&&android:background="@drawable/btn_style_alert_dialog_background"
&&&&&Button
&&&&&&&&android:id="@+id/btn_take_photo"
&&&&&&&&android:layout_marginLeft="20dip"
&&&&&&&&android:layout_marginRight="20dip"
&&&&&&&&android:layout_marginTop="20dip"
&&&&&&&&android:layout_width="fill_parent"
&&&&&&&&android:layout_height="wrap_content"
&&&&&&&&android:text="拍照"
&&&&&&&&android:background="@drawable/btn_style_alert_dialog_button"
&&&&&&&&android:textStyle="bold"
&&&&&&&&&/&
&&&&&Button
&&&&&&&&android:id="@+id/btn_pick_photo"
&&&&&&&&android:layout_marginLeft="20dip"
&&&&&&&&android:layout_marginRight="20dip"
&&&&&&&&android:layout_marginTop="5dip"&
&&&&&&&&&android:layout_width="fill_parent"
&&&&&&&&android:layout_height="wrap_content"
&&&&&&&&android:text="从相册选择"
&&&&&&&&&android:background="@drawable/btn_style_alert_dialog_button"
&&&&&&&&&android:textStyle="bold"
&&&&&&&&&/&
&&&&&Button
&&&&&&&&android:id="@+id/btn_cancel"
&&&&&&&android:layout_marginLeft="20dip"
&&&&&&&android:layout_marginRight="20dip"
&&&&&&&android:layout_marginTop="15dip"&
&&&android:layout_marginBottom="15dip"
&&&&&&&android:layout_width="fill_parent"
&&&&&&&android:layout_height="wrap_content"
&&&&&&&android:text="取消"
&&&&&&&android:background="@drawable/btn_style_alert_dialog_cancel"
&&&&&&&android:textColor="#ffffff"
&&&&&&&android:textStyle="bold"
&&&&&&&&/&
&/LinearLayout&
&/RelativeLayout&
在清单文件中配置该Activity
&&&&&&&&&&&&android:name=".SelectPicPopupWindow"
&&&&&&&&&&&&android:theme="@style/MyDialogStyleBottom"&/&
&&&&&&&&&activity
MyDialogStyleBottom样式如下:
&&&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&
动画push_bottom_in.xml如下:
&?xml&version="1.0"&encoding="utf-8"?&
&!--&上下滑入式&--&
&set&xmlns:android="/apk/res/android"&&
&&&&&translate
&&&&&&&&android:duration="200"
&&&&&&&&android:fromYDelta="100%p"
&&&&&&&&android:toYDelta="0"&&&&&&&&
&&&&&/&&&&&&&
更多开发者职位上
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读Android开发小技巧――全屏并去除标题栏_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Android开发小技巧――全屏并去除标题栏
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢9332人阅读
android(29)
下面是Dialog的style:
&!-- 全屏dialog样式 左右插入 --&
&style name=&mydialog& parent=&@android:style/Theme.Dialog&&
&item name=&android:windowFrame&&@null&/item&
&item name=&android:windowIsFloating&&true&/item&
&item name=&android:windowIsTranslucent&&true&/item&
&item name=&android:windowNoTitle&&true&/item&
&item name=&android:backgroundDimEnabled&&false&/item&
&item name=&android:windowBackground&&#FFFFFF&/item&
下面是创建Dialog的代码:
Dialog dialog = new Dialog(Activity.this, R.style.mydialog);
dialog.setContentView(R.layout.layout);
LayoutParams lay = dialog.getWindow().getAttributes();
setParams(lay);
dialog.show();
下面是设置Dialog的LayoutParams的属性方法:
private void setParams(LayoutParams lay) {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
Rect rect = new Rect();
View view = getWindow().getDecorView();
view.getWindowVisibleDisplayFrame(rect);
lay.height = dm.heightPixels - rect.
lay.width = dm.widthP
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:90880次
积分:1271
积分:1271
排名:第19321名
原创:37篇
评论:22条
(1)(1)(2)(1)(2)(1)(3)(7)(7)(1)(2)(3)(4)(1)(1)&&&& &&&&&&
&& &&&&&&&&&&&&
版权所有 鲁ICP备号-4
打开技术之扣,分享程序人生!android全屏弹出框 - 下载频道
- CSDN.NET
&&&&android全屏弹出框
android全屏弹出框
android全屏弹出框,AlertDialog
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
移动开发下载排行

我要回帖

更多关于 dialog全屏 的文章

 

随机推荐