当前位置:  编程技术>移动开发
本页文章导读:
    ▪PopupWindow自适应格局        PopupWindow自适应布局    Android自带的Menu菜单,常常无法满足我们的需求,所以就只有自己写menu菜单,通常的选择是用PopupWindow来实现自定义的menu菜单,先看代码,再来说明要注意的几点:  .........
    ▪ [Unity3D]GUI 成效一览        [Unity3D]GUI 效果一览 摘自:http://user.qzone.qq.com/175707544/blog/1251041134 function OnGUI() {   GUI.Label(Rect(1,1,100,20),"I'm a Label"); //1   GUI.Box(Rect(1,21,100,20),"I'm a Box"); //2   GUI.Button(Rect(1,41,100,20),"I'.........
    ▪ 【BUG解决】ActivityGroup 中按键监听失效       【BUG解决】ActivityGroup 中按键监听失灵!   很多朋友都用ActivityGroup 来做底部菜单吧~ 我也觉得这个控件很好,自由性比tab好很多。但是确实发现了很多问题:   1.子页面activity的menu不显示。(.........

[1]PopupWindow自适应格局
    来源: 互联网  发布时间: 2014-02-18
PopupWindow自适应布局

   Android自带的Menu菜单,常常无法满足我们的需求,所以就只有自己写menu菜单,通常的选择是用PopupWindow来实现自定义的menu菜单,先看代码,再来说明要注意的几点:

 

View menuView = inflater.inflate(R.layout.menu_popwindow, null);
final PopupWindow p = new PopupWindow(mContext);
p.setContentView(menuView);
p.setWidth(ViewGroup.LayoutParams.FILL_PARENT);
p.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
p.setAnimationStyle(R.style.MenuWindow);
p.setOnDismissListener(this);
p.setOutsideTouchable(false);
p.setBackgroundDrawable(new ColorDrawable(android.R.color.transparent));
p.setFocusable(true); // 如果把焦点设置为false,则其他部份是可以点击的,也就是说传递事件时,不会先走PopupWindow

mPopwindow = p;

 

来说明其中的几点:

  1. 为了让PopupWindow自适应屏幕的宽度,设置宽度时用ViewGroup.LayoutParams.FILL_PARENT,为了自适应子布局的高度,设置高度时用ViewGroup.LayoutParams.WRAP_CONTENT

  2. 由于PopupWindow类没有继承ViewGroup类,所以inflater.inflate(int resource, ViewGroup root)方法的第二个参数只能传为null,传null会使最外层布局的android:layout_xxx都不起作用。所以高度是以第二层布局为主

  3. 为了设置背景和边距,其背景只能设置在第二层布局里,因第一层布局的android:layout_marginXxx不起作用,而设置android:padding_Xxx不会影响背景。

  4. menu有一个特点,就是点外部,menu菜单要消失,要实现这个,有几个属性要一起设置:p.setOutsideTouchable(false);p.setBackgroundDrawable();p.setFocusable(true);


    
[2] [Unity3D]GUI 成效一览
    来源: 互联网  发布时间: 2014-02-18
[Unity3D]GUI 效果一览


摘自:http://user.qzone.qq.com/175707544/blog/1251041134

function OnGUI() {

  GUI.Label(Rect(1,1,100,20),"I'm a Label"); //1

  GUI.Box(Rect(1,21,100,20),"I'm a Box"); //2

  GUI.Button(Rect(1,41,100,20),"I'm a Button"); //3

  GUI.RepeatButton(Rect(1,61,120,20),"I'm a RepeatButton"); //4

  GUI.TextField(Rect(1,81,100,20),"I'm a TextFielld"); //5

  GUI.TextArea(Rect(1,101,100,40),"I'm a TextArea,\nMultiline"); //6

  GUI.Toggle(Rect(1,141,120,20),true,"I'm a Toggle true"); //7

  GUI.Toggle(Rect(1,161,120,20),false,"I'm a Toggle false"); //8

  GUI.Toolbar(Rect(1,181,160,20),-1,["Toolbar","Tool2","Tool3"]); //9

  GUI.SelectionGrid(Rect(1,201,190,20),2,["Selection","Grid","select3"],3); //10

  GUI.HorizontalSlider(Rect(1,221,180,20),3.0,0,10.0); //11

  GUI.VerticalScrollbar(Rect(1,241,20,100),3.0,1,0.0,10.0); //12

 

  //13

  GUI.BeginScrollView (Rect (200,10,100,100),Vector2.zero, Rect (0, 0, 220, 200));

  GUI.Label(Rect(0,0,100,20),"I'm a Label");

  GUI.EndScrollView();

  //14

    GUI.Window(0,Rect(200,129,100,100),funcwin,"window");

}

 

function funcwin(windowID:int)

 {

  GUI.DragWindow(Rect(0,0,10000,2000));

 }


    
[3] 【BUG解决】ActivityGroup 中按键监听失效
    来源: 互联网  发布时间: 2014-02-18
【BUG解决】ActivityGroup 中按键监听失灵!

 

很多朋友都用ActivityGroup 来做底部菜单吧~

我也觉得这个控件很好,自由性比tab好很多。但是确实发现了很多问题:

 

1.子页面activity的menu不显示。(子页面的按键监听无输出,所以其他按键也无效!)

2. 子页面默认wrap_content布局,无法设置为fill_parent!需根据页面大小动态设置!(这里参考另一篇:http://androidturing.iteye.com/blog/1258839)

3.子页面中的ListView的getView()方法被重复调用多次!导致性能下降。(同样参考:http://androidturing.iteye.com/blog/1258839)

之前第二个问题已经解决,第三个问题是由于第二个问题中 子页面纵向布局为wrap_content而引起的!

 

今天发现并解决了第一个bug,在activitygroup加上这个:

 

 @Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
       
        if(keyCode==KeyEvent.KEYCODE_MENU) {
           
            this.getLocalActivityManager().getCurrentActivity().openOptionsMenu();
        }else if(keyCode == KeyEvent.KEYCODE_BACK){
           
            finish();//可换用自己的退出提示
        }
       
        return super.onKeyDown(keyCode, event);
    }
 

 

 

1 楼 jstl1point0 2011-12-06  
我也遇到了这个问题,回去试一下
2 楼 ndzj981479673 2012-06-12  
这个只能解决menu点击吧,那音量点击之类的呢?

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android实现侦听电池状态显示、电量及充电动... iis7站长之家
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3