本文中所提及的代码往往只有一行或短短几行就可能完成某种效果和功能,当我们不知道答案的时候,通常会花费了我们很多时间去google或baidu来寻找。这里对遇到的问题作个记录整理下,方便以后的查找,同时也希望能帮到你,当然更多的可能是你已经知道答案了,下面的对你来说 so easy
1. 如何设置通知栏下拉不可用
有时候在一个界面不想让通知栏下拉的消息就是这个代码了, NotificaionManager里的一个方法。
[java] view plaincopyprint?NotificationMgr.getDefault().getStatusBarMgr().enableExpandedView(false);
NotificationMgr.getDefault().getStatusBarMgr().enableExpandedView(false);
2 . 设置actionBar的图标在屏幕底部显示
android 3.0版本增加的功能,类似menu的作用,在官方的例子中,图标都是在屏幕顶部的,前提是你上面有足够的空间,如果想把actionBar的图标放下屏幕底部就要用下面的代码了 ,在Androidmanifest.xml文件中activity标签中添加
[java] view plaincopyprint?android:uiOptions="splitActionBarWhenNarrow"
android:uiOptions="splitActionBarWhenNarrow"
3 . 代码设置文本点击按下颜色变化
[html] view plaincopyprint?<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="#ffff0000"/> <!-- pressed -->
<item android:state_focused="true"
android:color="#ff0000ff"/> <!-- focused -->
<item android:color="#ff000000"/> <!-- default -->
</selector> //www.sctarena.com
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="#ffff0000"/> <!-- pressed -->
<item android:state_focused="true"
android:color="#ff0000ff"/> <!-- focused -->
<item android:color="#ff000000"/> <!-- default -->
</selector> 上面代码是一个选择器,通常情况我们都在布局文件中添加这样的代码android:background = "@drawable/选择器的文件名" 来实现背景或颜色切换的,可要是用对应功能的代码实现是什么样子呢?
[java] view plaincopyprint? <STRONG>ColorStateList.java 这个类 </STRONG>
Button btn=(Button)findViewById(R.id.btn);
Resources resource=(Resources)getBaseContext().getResources();
ColorStateList csl=(ColorStateList)resource.getColorStateList(R.color.button_text);
if(csl!=null){
btn.setTextColor(color_state_list);//设置按钮文字颜色
}
ColorStateList.java 这个类
Button btn=(Button)findViewById(R.id.btn);
Resources resource=(Resources)getBaseContext().getResources();
ColorStateList csl=(ColorStateList)resource.getColorStateList(R.color.button_text); //成都IT培训
if(csl!=null){
btn.setTextColor(color_state_list);//设置按钮文字颜色
} 这里要提一下 setTextColor这个方法的参数类型是int,而R.drawable.选择器的文件名也是个int型变量,代码编译不会报错,但不会起作用。如果你是动态的生成一些button或textView而又不能使用布局文件,你会很想念这个ColorStateList.java 这个类的
4. setContentView和inflate区别:
setContentView()一旦调用, layout就会立刻显示UI;而inflate只会把Layout形成一个以view类实现成的对象,有需要时再用setContentView(view)显示出来
5. 美化我们的seekbar
换了图片,滑块图片只显示一半怎么办? ,看下面的代码和代码注释你会找到答案的
[html] view plaincopyprint?<SeekBar android:id= "@+id/song_progress"
android:thumb="@drawable/sound_progressbar_slider" // 滑块的图片
android:progressDrawable ="@drawable/sound_seekbar_img" //进度条的图片设置,对应的是一个xml文件,功能就是selector的效果
android:thumbOffset="16dip" // 这个保证滑块中心和进度条首尾两端的中心点是一致的
android:paddingLeft="16dip" // 保证滑块显示全部,没有它滑块在首尾两端只会显示一半,右一半,左一半。
android:paddingRight="16dip" // 同上
android:layout_gravity="center_horizontal"
android:layout_width="284dip" // 进度条的宽度加上滑块的宽度,可能需要微调下
android:minHeight="33dip" // 高度要和滑块图片的高度等高,最好这样做,
android:maxHeight="33dip" // 同上
android:layout_height="33dip" />
<SeekBar android:id= "@+id/song_progress"
android:thumb="@drawable/sound_progressbar_slider" // 滑块的图片
android:progressDrawable ="@drawable/sound_seekbar_img" //进度条的图片设置,对应的是一个xml文件,功能就是selector的效果
android:thumbOffset="16dip" // 这个保证滑块中心和进度条首尾两端的中心点是一致的
android:paddingLeft="16dip" // 保证滑块显示全部,没有它滑块在首尾两端只会显示一半,右一半,左一半。
android:paddingRight="16dip" // 同上
android:layout_gravity="center_horizontal"
android:layout_width="284dip" // 进度条的宽度加上滑块的宽度,可能需要微调下
android:minHeight="33dip" // 高度要和滑块图片的高度等高,最好这样做,
android:maxHeight="33dip" // 同上
android:layout_height="33dip" />
6 两张图片叠加成一张图
这个代码也是之前在网上搜到的,只是实在找不到原始出处了。当然还有别的方法实现叠图的效果,这个经测试验证可用,仅此而已。
[java] view plaincopyprint?Bitmap bitmap1 = ((BitmapDrawable) getResources().getDrawable( R.drawable.ic_default_slide)).getBitmap();
Bitmap bitmap2 = ((BitmapDrawable) getResources().getDrawable( R.drawable.ic_slide_player)).getBitmap();
Drawable[] array = new Drawable[2];
array[0] = new BitmapDrawable(bitmap1);
array[1] = new BitmapDrawable(bitmap2);
LayerDrawable la = new LayerDrawable(array);
// 其中第一个参数为层的索引号,后面的四个参数分别为left、top、right和bottom
la.setLayerInset(0, 0, 0, 0, 0);
la.setLayerInset(1, 20, 20, 20, 20);
im.setImageDrawable(la);
Bitmap bitmap1 = ((BitmapDrawable) getResources().getDrawable( R.drawable.ic_default_slide)).getBitmap();
Bitmap bitmap2 = ((BitmapDrawable) getResources().getDrawable( R.drawable.ic_slide_player)).getBitmap();
Drawable[] array = new Drawable[2];
array[0] = new BitmapDrawable(bitmap1);
array[1] = new BitmapDrawable(bitmap2);
LayerDrawable la = new LayerDrawable(array);
// 其中第一个参数为层的索引号,后面的四个参数分别为left、top、right和bottom
la.setLayerInset(0, 0, 0, 0, 0);
la.setLayerInset(1, 20, 20, 20, 20);
im.setImageDrawable(la);
7 按XY轴比例缩放图片
[html] view plaincopyprint?ImageView.ScaleType.FIT_XY缩放图片使用XY
ImageView.ScaleType.center:图片位于视图中间,但不执行缩放。
ImageView.ScaleType其余的值,感觉没有前两个常用
ImageView.ScaleType.CENTER_CROP 按统一比例缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或者大于相应的视图的维度
ImageView.ScaleType.CENTER_INSIDE按统一比例缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或者小于相应的视图的维度
ImageView.ScaleType.FIT_CENTER缩放图片使用center
I mageView.ScaleType.FIT_END缩放图片使用END
ImageView.ScaleType.FIT_START缩放图片使用START
ImageView.ScaleType.MATRIX当绘制时使用图片矩阵缩放
- 浏览: 152086 次
- 性别:
- 来自: 北京
文章分类
最新评论
发表评论
-
调用startActivityForResult后,onActivityResult为什么立刻响应
2015-05-25 13:50 1770今天在编写代码的时候,涉及到两个Activ ... -
android 值得学习的网站
2015-05-06 17:03 7531、国外教程网站 Android Developers ... -
Gradle基础
2015-01-13 10:44 796什么是Gradle? Gradle是一种依赖管理工具,基于 ... -
attrs.xml 中字段的意思。。。
2014-12-11 11:57 6181. reference:参考某一 ... -
比较狠的开源库。
2014-12-03 17:10 534http://loopj.com/android-asyn ... -
AutoCompleteTextView全局匹配
2014-12-01 17:39 924AutoCompleteTextView 这个 ... -
Android 中有意思的方法
2014-11-26 10:07 459setColorFilter: 这个方法是给图片或者 ... -
Android下一个apk安装多个程序入口图标
2014-06-06 12:06 447Android中有的Ap功能比较复杂,为了方便用户使用,可 ... -
Android中的Animation使用
2014-02-28 10:34 7553.0以前,android支持两种动画模式,tween a ... -
好吧~dialog
2013-12-06 20:06 742Dialog dialog = new Dialog(Re ... -
Android的screenOrientation设置
2013-10-22 17:54 2064首先在AndroidManifest.xml中,对需要设置 ... -
内部Handler类引起内存泄露
2013-07-25 14:44 856如果您在Activity中定义了一个内部Handler类, ... -
Android:自定义滚动边缘(EdgeEffect)效果
2013-07-24 14:37 1172Android可滚动控件(GridView、ListVie ... -
添加Fragment机制
2013-07-24 14:33 871配置(Configuration )改变是Android应 ... -
Android系统的一些机制说明
2013-07-24 11:04 750其实从很多方面,Android系统的机制都和其他系统也很大 ... -
Gif图片
2013-07-01 11:50 809大家都知道,Android开发模拟器为了节省内存,一般不支 ... -
最火的Android开源项目(一)
2013-06-20 13:10 1793GitHub在中国的火爆程度无需多言,越来越多的开源项目迁 ... -
GitHub Android 开源项目汇总
2013-06-20 13:06 1092GitHub 上的开源项目不胜枚举,越来越多的开源项目正在 ... -
Android 动态设置全屏,退出全屏
2013-05-24 14:23 1148实现全屏函数: private void setF ... -
Android的手势识别
2013-05-24 14:01 706对于触摸屏,其原生的消息无非按下、抬起、移动这几种,我们只 ...
相关推荐
15个Android很有用的代码片段.pdf 3G应用开发之Android.ppt Android 图像处理篇.rar Android2.2+API+中文文档系列.pdf Android_CTS测试研究.pdf Android_GoogleMaps基础开发教程.pdf Android_GPS架构分析.doc ...
Android备忘单这是视觉指南的集合,我发现自己在进行Android开发时会反复提到。 开放供稿!目录活动和片段生命周期流程图回调方法打回来什么时候什么活动可见吗onCreate() 活动是首先创建的所有必要的UI元素都应该...
-很棒的Flutter片段是常用的Flutter函数和类的集合片段和快捷方式。 -通过注释,信息性,待办事项等进行注释,改善代码注释! -支持bloc库,并提供有效地为Flutter和AngularDart应用程序创建bloc的工具。 -可自定义...
尽管它们为经典的Java集合世界带来了改进的性能和优化的内存使用,但是在实现最基本的代码片段时,它们有时会变得笨拙。 例如,不支持良好的旧迭代,因此,尽管现在所有Java开发人员都习惯了简短而优雅的语法: ...
它包含大约150个可编译源代码示例, 是Android开发人员的大量教程材料。 并非书中或网上的所有食谱都有附带的代码; 此repo具有由贡献者链接的代码,或在某些情况下为方便起见由编辑器重新构造为“新项目”的代码。...
AndroidAnimationExercise这是一个关于Android中各种视图的集合,里面包含自己的日常开发和博客总结中的代码。主要内容是Android动画,Android自定义视图相关的知识,包含一些常见应用中动画效果的模仿实例。随着...
每个示例都有代码片段,其中包含对特定概念背后的代码和理论的易于理解的解释。 它还列出了您在经常解决的代码中可能遇到的问题,因此您知道如何解决可能出现的错误。 : 如果你想练习js技能但没有想法,这个播放列表...
java消灭星星源码 受欢迎的人 :glasses: 受欢迎的人是一个示例 Android ...布局文件生成一个绑定类,并允许您更轻松地编写与视图交互的代码。 - SQLite 对象映射库。 —— DI版 :dagger: - 适用于 Andro
此应用程序提供的第三方库的集合,作为一个开发这个应用程序是为您必不可少的。 您将有关于作者,捕获,牌照,说明图书馆的链接的信息,您可以尝试在应用程序中的工作示例。 最近还增加了与片段,将不断更新选项卡。...
食谱方法编程环境中的食谱是一些微型程序的集合,每个微型程序都演示一个特定的编程概念。 Cookbook方法是通过建立实现特定编程概念的小程序存储库来学习编程语言的过程。 从Hello World程序开始,然后逐步构建知识...