当前位置:  编程技术>移动开发
本页文章导读:
    ▪checkbox 在ListView中应用 4        checkbox 在ListView中使用 4 今天又看到Android的apisdemos里面有一个多选框,于是又查了源码,结果发现,ListView已经实现了多选,还有单选等操作,只需要一些简单的设置就可以了.但有一个前提,似乎.........
    ▪ 设立状态栏显示在屏幕底部        设置状态栏显示在屏幕底部 修改com.android.server.status.StatusBarService类中的方法:(1) public void systemReady() {        ...       //这里把 Gravity.TOP -> Gravity.BOTTOM       lp.gravity = Gravity.BOTTOM | .........
    ▪ BroadcastReceiver的施用       BroadcastReceiver的使用 使用广播接收器有两种方法,一种是建立一个BroadcastReceiver类,这种很常见,任何情况都可以接受;还有一种是在一个应用里注册个接收器,通过registerReceiver,这种需要应.........

[1]checkbox 在ListView中应用 4
    来源: 互联网  发布时间: 2014-02-18
checkbox 在ListView中使用 4
今天又看到Android的apisdemos里面有一个多选框,于是又查了源码,结果发现,ListView已经实现了多选,还有单选等操作,只需要一些简单的设置就可以了.

但有一个前提,似乎是Adapter需要有它的getItemId返回不同的值,可以代码不同的数据,如果有两个值是一样的,似乎不可行.如果要改变原来的选框的行为,需要重写ListView的performItemClick方法了.

选中的结果可以从ListView.getCheckItemIds得到所选的id,然后根据id从数据列表中处理.
当然ListView如果要使用这样的方式 还需要两点,ListView.setchoice()这里要多选的,multi_choice.还有ListView.setitemcanfocus(false).


    
[2] 设立状态栏显示在屏幕底部
    来源: 互联网  发布时间: 2014-02-18
设置状态栏显示在屏幕底部

修改com.android.server.status.StatusBarService类中的方法:
(1) public void systemReady() {
        ...
       //这里把 Gravity.TOP -> Gravity.BOTTOM
       lp.gravity = Gravity.BOTTOM | Gravity.FILL_HORIZONTAL;
       lp.setTitle("StatusBar");
       lp.windowAnimations = R.style.Animation_StatusBar;
       WindowManagerImpl.getDefault().addView(view, lp);
    }  
(2) void onBarViewAttached() {
       ...
       //这里把 Gravity.TOP -> Gravity.BOTTOM
       lp.gravity = Gravity.BOTTOM | Gravity.FILL_HORIZONTAL;
       lp.setTitle("TrackingView");
       lp.y = mTrackingPosition;
       mTrackingParams = lp;
       WindowManagerImpl.getDefault().addView(mTrackingView, lp);
    }
方法(1)是系统启动的时候,服务读取状态栏时调用的方法。
屏幕加载窗体涉及到进程之间的通讯。而各个窗体加载时都是以状态栏的为参考点,位于状态栏之下的。
如果不修改窗体加载时的参考点,状态栏移到最下面后,则各个窗体会显示在屏幕之外。
窗体的位置计算在PhoneManagerService类中进行。在public void beginLayoutLw()修改:

把mDockTop= mContentTop = mCurTop = mStatusBar.getFrameLw().bottom; 更改为:

mDockTop =mContentTop = mCurTop = 0;

即以屏幕的左上角坐标(0,0)为参考点

修改mDockBottom ,mCurBottom, mContentBottom 的值,让它最终的值与下移后的状态栏的TOP位置一样。
修改成:mDockBottom = mContentBottom = mCurBottom = ( displayHeight - mStatusBar.getFrameLw().height());
也可以修改成:mDockBottom = mContentBottom = mCurBottom = mStatusBar.getFrameLw().top;

1 楼 guidian103 2012-02-06  
4.0的怎么修改?  那样修改是成功了,但是4.0的好像 拉不上来啊。那个触摸没有用啊
2 楼 dss16694 2012-02-22  
汗,这篇文章只是偶尔看到备份在博客,我自己还没来得及试呢,不好意思,呵呵
3 楼 dss16694 2012-02-22  
不过可以研究下CM7的源码看看,CM7中的CM设置中可以设置状态栏下置的

    
[3] BroadcastReceiver的施用
    来源: 互联网  发布时间: 2014-02-18
BroadcastReceiver的使用

使用广播接收器有两种方法,一种是建立一个BroadcastReceiver类,这种很常见,任何情况都可以接受;还有一种是在一个应用里注册个接收器,通过registerReceiver,这种需要应用打开的时候才生效,应用销毁了,还要解除注册。
广播接收器的onReceiver的有效执行时间是10s,一般情况,当这个方法执行完,接收器就销毁了,但是超过10s,即使没执行完毕,也会自动销毁,所以复杂耗时的操作不要放在这里执行,可以把数据通过intent传给一个activity,或service去处理,具体方法和平时一样的操作,只是如果启动外部APK的组件,activity 需要加上setFlags,service需要加上属性 android:exported="true",这样就没什么问题。


    
最新技术文章:
▪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提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


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

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

浙ICP备11055608号-3