- 浏览: 430976 次
- 性别:
- 来自: 深圳/湛江
-
文章分类
最新评论
-
wangyudong:
很多API doc生成工具生成doc需要重度依赖代码里加注解的 ...
[ios]利用xcode自动生成项目文档 -
tiger1819:
有源码么,想学习
[android]仿360状态,类流量监控桌面浮动显示 -
119568242:
借我一双翅膀 写道大哥,求指教啊?
IOS 开发,调用打电话,发短信,打开网址 -
借我一双翅膀:
大哥,求指教啊
IOS 开发,调用打电话,发短信,打开网址 -
li247276297:
楼主 是不是要加个权限?
[android]仿360状态,类流量监控桌面浮动显示
Android菜鸟日记
24 android小技巧
用button控件实现按钮效果
Button控件例子
<Button android:id="@+id/bt1" android:layout_width="wrap_content"
android:background="@drawable/selector_button1"
android:layout_height="wrap_content" android:onClick="funClick" />
其中android:background="@drawable/selector_button1"
指向的是一个存在于 res/drawable文件夹下的selector_button1.xml文件
内容如下
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/d_start" /> <!-- pressed --> <item android:state_focused="true" android:drawable="@drawable/start" /> <!-- focused --> <item android:drawable="@drawable/start" /> <!-- default --> </selector>
Selector为选择器 作为button控件的 的选择器 其中三个item为相对用的值。 三个item就不解释了 这个英语我都能看懂你们也应该能看懂 |
用android:onClick实现监听按钮点击
一般来说 view的监听都是 或得到view对象后给他设置监听器,以内部类的形式,首先 我很讨厌内部类,感觉复杂了代码。那么有些人就用view所在的activty去实现监听接口然后用activity来监听,我以前是这么做但是我学会了用android:onClick后我一般都是使用android:onClick方法。
还是Button控件例子[xx.xml(布局文件)中内容]
<Button android:id="@+id/bt1" android:layout_width="wrap_content"
android:background="@drawable/selector_button1"
android:layout_height="wrap_content" android:onClick="funClick" />
android:onClick="funClick"
这句话什么意思呢?
它指的是 当次button控件被点击
调用使用此布局文件[xx.xml]的activity的funClick方法。
注意:在activity中写funClick方法时.需要传入一个参数View v
funClick(View v){}
这是必须得 否则会报错。
public void funClick(View v) { int temp = v.getId();
if (temp == R.id.bt1) { this.startActivity(new Intent(ShouYeActivity.this, OpticalRulerActivity.class)); } if (temp == R.id.bt2) { this.startActivity(new Intent(ShouYeActivity.this, AboutActivity.class)); } if (temp == R.id.bt3) { this.finish(); } } 当多控件使用统一按钮监听方法时需用v.getId(); 获得被点击控件的id号 根据ID号分辨被点击的控件。 |
用XML文件来写菜单栏menu
一般人写菜单栏是直接在activity 代码里面写。
如此每个activity都需要重复的写入onCreateOptionsMenu方法。
public boolean onCreateOptionsMenu(Menu menu) { menu.add(groupId, itemId, order, title); return super.onCreateOptionsMenu(menu); } |
这样的维护难度非常高。[当activity使用一样的menu,则需要每个修改]
那么如果使用xml来写的话 每次只需要修改xml文件 就可以做到使用此xml文件menu菜单同步被修改的效果。
代码如下
Menu的xml文件需要放在在res下menu文件夹(默认不存在需要自己创建) 其他名文件夹不行。其实你在RES下自己建立其他文件夹下放xml文件会被报下错。
Error in an XML file: aborting build.
Res/menu/menu.xml(文件名随意)
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:id="@+id/group1">组id <item android:id="@+id/item1" android:orderInCategory="1" android:title="版本信息"> 组内id,排序(注意排序是对整个menu来说的不考虑组问题),title </item> <item android:id="@+id/item2" android:orderInCategory="2" android:title="作者的话"> </item> </group> <group android:id="@+id/group2">组id …………………………… </group>
</menu>
|
Activity代码处
// 菜单栏 public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub MenuInflater inflater = this.getMenuInflater(); 因为是用资源文件来填充menu,所以需要在系统中获取到menu填充器(MenuInflater) inflater.inflate(R.menu.menu, menu); 用填充器对象的填充方法(inflate),传入参数 填充资源,填充对象 return super.onCreateOptionsMenu(menu); 返回父类方法。 } |
Toast提示用户
Android提醒用户的方法不少比如dialog系列的东西,但是如果想让用户知道,又不需要他点击来继续的话(因为多次点击会降低用户体验),使用Toast(这个单词的意思是土司面包)
在activity下可以使用
Toast.makeText(this,"要显示的内容",Toast.LENGTH_LONG).show();
完整代码
Toast.makeText(Context ct,String title,Toast.LENGTH_LONG| Toast.LENGTH_SHORT)
这一段是对Toast设置text,Toast是android 自带的 不需要实例化直接Toast就可以用了。
.show();
这个很重要,执行这个的时候才把Toast执行在屏幕上。
RES文件夹下的3个图片文件夹
从文件名就能看出来hdpi ,ldpi,mdpi 对应 高 低 中dpi 一般来说我们只需要把文件放到hdpi文件目录下 就可以了,当遇到需要使用ldpi mdpi文件时, Android会自动缩图(效果不好)
但是注意每个dpi文件夹下的icon.png需要自己重写。 否则就会在系统中看到很恶心的 |
横竖屏,与全屏
横竖屏
在AndroidManifest.xml文件下的application 或者activity内写入下行代码实现横竖屏。
android:screenOrientation="landscape" 横屏,portrait竖屏 |
全屏
在AndroidManifest.xml文件下的application 或者activity内写入下行代码实现全屏。
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" |
关于设置全屏的还有另外一种设置风格(写风格xml文件)然后让activity或application调用的。
懒得手打了直接复制我ITEYE博客内容了
http://poolo.iteye.com/admin/blogs/1207642
消除标题栏
第一种:在AndroidManifest.xml文件中定义 < application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"> 可以看出,这样写的话,整个应用都会去掉标题栏,如果只想去掉某一个Activity的标题栏的话,可以把这个属性加到activity标签里面 第二种:这种在一般的应用中不常用,就是在res/values目录下面新建一个style.xml的文件 [放在其他文件下目录下不行,只有放在values下系统才会把style读进去 才能@来用] 例如:
< ?xml version="1.0" encoding="UTF-8" ?> < resources> < style name="notitle"> < item name="android:windowNoTitle">true< /item> < /style> < /resources> 这样,我们就自定义了一个style,就相当于一个主题,然后在AndroidManifest.xml文件中定义 < application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/notitle"> 这样也可以达到去掉标题栏的效果
全屏的方法
第一种 最简单 最方便 但修改麻烦 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 第二种 稍微麻烦 但修改容易 只需要修改自己写的风格文件即可 自己写一个XML文件放在res/values文件夹下 xml文件内容 <?xml version="1.0" encoding="UTF-8" ?> <resources> <style name="fullscreem"> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> </style> </resources>
最后添加 android:theme="@style/fullscreem"
|
关于系统出错
除了代码问题有时候考虑下是不是没有添加权限
在AndroidManifest.xml文件下的manifest下是否有添加权限
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
LogCat的使用
Mars视频讲了 我就稍微提下
1.将logCat添加到界面中
得到
2.LogCat的使用
在任意代码处可以写
Log.v("mytest", "Rid:" + Rid);
//String String 键值对
//第一个参数是Logcat TAG 也就是标签、识别符
//第二参数就是内容了
当系统执行到这句的时候。就会在下面的
LogCat窗口显示。
但注意系统自带了N从里面找出你写的那个是个困难度非常大的事情。
所以点击需要把你自己写的筛选出来
点击
显示如下(我写的那个例子的log tag就是mytest)
同logCat 标签下可能有不同级别的提示
则靠点击来选择问题严重性
显示全部问题
只显示log.e的问题
反正是按钮拿个按钮就显示那个按钮加它右边的所有。
比如按 那么显示的就是
。
Log不仅只有log.v
还有Log.d Log.i Log.w Log.i
小技巧:在系统出错的时候点击
Log的log标签(系统自带无法删除)
然后点击就能看到当前系统报错了。
使用DDMS时 经常会出现logCat不显示的问题,首先切到DDMS选择手机,如果还是没连接到得话[这时候你看DDMS那边手机的显示连接但看不到android版本号],解决办法是手机重新连接电脑。
先写这么多吧,以后想到再写,以上大多数是我自己的经验,可能有些不符合别人习惯但是我觉得挺好的。个人按照自己需求选择性学习。有更好的办法请使用更好的办法在写这篇文章的时候我还没想到更好的解决办法。
2011-10-23
poolo
- Android菜鸟日记24-android小技巧.pdf (636.6 KB)
- 下载次数: 8
发表评论
-
[android]使用 Matrix 的随触摸旋转的ImageView
2013-02-22 01:58 7956使用 Matrix 的随触摸旋转的ImageView 突 ... -
[android]动态改变按钮背景状态 StateListDrawable
2012-10-29 10:52 1492动态改变按钮背景状态 很少用到 上次和六哥聊到。 ... -
[android]ViewPage上无法通过onKeyDown()获得按钮事件
2012-08-20 04:53 1398系统无法监听到遥控器在VewPage上的按钮事件,如需 ... -
[android]待解决 lisTview 的onItemSelected 监听事件焦点的问题。
2012-08-18 21:18 2198今天遇到个问题 到目前为止 一直不理解为什么 大概描述下布局 ... -
[android]layout_weight 在layout_width 为fill_parent 与wrap_content 时的不同含义
2012-08-12 12:52 1280转自:http://hi.baidu.com/l ... -
[android]仿制新浪微博消息页面 图标切换动画
2012-08-10 17:33 4063研究了下以前不怎么用到的动画效果的实现 顺便做了一个新浪微 ... -
[android]仿制新浪微博消息页面 图标切换动画
2012-08-10 17:33 3研究了下以前不怎么用到的动画效果的实现 顺便做了一个新浪微 ... -
[android]仿制新浪微博消息页面 图标切换动画
2012-08-10 17:33 0研究了下以前不怎么用到的动画效果的实现 顺便做了一个新浪微 ... -
[android]Activity切换动画
2012-08-10 12:23 1494今天准备比赛的时候 遇到了这个问题。 查了些资料 ... -
android中ADT版本问题:无故报 java.lang.NoClassDefFoundError
2012-07-31 22:08 1819今天修改一个老项目的时候,发现在所有配置正确的情况下,代目无任 ... -
[android]仿360状态,类流量监控桌面浮动显示
2012-05-27 22:03 6065前两天看到部分音频播放器可以实现在桌面上显示歌词,360那个浮 ... -
[转]android开发问题记录 "founderapp"
2012-02-08 10:48 1088这段时间,由于某种原因,一直在做android手机开发, ... -
关于weight
2012-02-05 21:20 859layout_weight=1后,除了其它的控件之外剩 ... -
判断SD卡是否存在
2012-02-02 17:54 902android.os.Environment.getEx ... -
[转]Android文件管理器介绍
2012-02-02 16:50 3097转自:http://www.linuxidc.com/L ... -
[转]Android文件管理器介绍
2012-02-02 16:49 5转自:http://www.linuxidc.com/L ... -
[转]android 几何图形的绘制
2012-02-01 16:06 2212转自:http://byandby.iteye.c ... -
Android菜鸟日记32-游戏中的碰撞
2012-01-11 23:09 1769Android菜鸟日记 32-游戏中的碰撞 一、 ... -
Android菜鸟日记31-selector 中使用 shape
2012-01-11 23:05 1644Android菜鸟日记 31- ... -
Android菜鸟日记30-View与SurfaceView
2012-01-11 22:45 973Android菜鸟日记 30 View与Surfa ...
相关推荐
这篇“Android菜鸟日记25-android反编译”将带你走进Android反编译的世界,揭示APK背后的秘密。 首先,让我们了解什么是Android反编译。Android应用主要由Java语言编写,经过编译后生成Dalvik字节码(.dex文件),...
菜鸟入侵--利用资源搜索动画教程,内附有详细的使用说明 菜鸟入侵之利用资源篇 菜鸟在入侵的时候,如果能充分利用现有的资源,那将对自己的入侵起很大的
根据提供的文件信息,我们可以推断出这是一套关于Android Studio 1.3.1的教学视频资料,主要面向初学者到进阶用户。接下来,我们将基于这些信息深入探讨相关的知识点。 ### Android Studio 1.3.1简介 Android ...
菜鸟到老鸟-教你玩转Mac操作
android-emulator-webrtc 它包含一组React组件,可用于从浏览器与android模拟器进行交互。 它旨在与连接到正在运行的仿真器的一起使用。 有关如何运行可通过网络访问的仿真器的示例,请参见脚本。 npm install --...
### 知识点一:Android 开发环境搭建 #### 1.1 了解 Android 开发环境的基本构成 - **操作系统**:本教程基于 Windows 7 操作系统进行讲解。 - **JDK(Java Development Kit)**:安装 JDK 1.7 或更高版本,因为 ...
Android课程设计-计菜鸟裹裹app源代码+文档说明菜鸟裹裹主要包括1.支付宝快速登录2.支付宝注册3.手机淘宝登录,手机登录4.首页-校园认证5.首页-包裹搜索,首页-添加包裹6.首页-扫一扫7.首页-身份码8.首页-寄万物,寄...
android-json-0.0.20131108.vaadin1.jar
《构建私密日记本:Android小程序开发详解》 在当今数字化时代,个人隐私的保护越来越受到重视,而私密日记本作为一个记录内心世界的私密空间,其数字化形式——Android小程序,成为了许多用户的新选择。本文将详细...
《股市菜鸟必读----“笑傲股市”学习笔记》是一本针对初级投资者的指南,它强调了理解财务报表和选择有潜力的股票的重要性。在股市投资中,掌握基础的分析技巧是至关重要的,特别是对于新手而言。以下是核心知识点的...
通过以上分析,《职场菜鸟升职记》不仅讲述了一个关于个人成长和职业发展的故事,还深入探讨了职场心态、沟通技巧、技能培养、形象管理和团队精神等多个方面的重要知识点,为读者提供了宝贵的职场指导。
在安卓开发过程中,硬件运行环境的搭建是必不可少的步骤,特别是对于初学者来说,了解如何在真实设备上进行调试显得尤为重要。...通过不断的实践和学习,你将逐渐掌握安卓开发的技巧,成为安卓开发的高手。
手打从菜鸟到入门--电脑篇 此文章推荐刚刚接触电脑的朋友们阅读,书籍会更新,属于网络文章,相信对大多数网友会有帮助!
本源码包"cniao5-shop-master"是一个专门为Android平台设计的商城应用项目,名为“菜鸟商城”。这个源码库包含了完整的Android应用开发所需的所有组件和功能,对于开发者来说,无论是学习Android应用开发,还是进行...
菜鸟飞飞飞-微服务架构的想法
STM32菜鸟学习手册-罗嗦版 。
《CCNA菜鸟笔记640-802》是一份针对初学者的全面学习资源,包含两部分:《CCNA菜鸟笔记2007修正版》和《CCNA 640-802课程讲义》。这些文档旨在帮助读者理解和掌握Cisco Certified Network Associate(CCNA)认证考试...
《Delphi7教程之菜鸟先飞版--帮你打通任督二脉(第1式)》是一份专为初学者设计的教程,旨在帮助新手快速掌握Delphi7编程的基础知识和技巧。Delphi7是一款强大的Windows应用程序开发工具,以其高效的代码生成、直观的...