`

android开发中代码片段集合

 
阅读更多

本文中所提及的代码往往只有一行或短短几行就可能完成某种效果和功能,当我们不知道答案的时候,通常会花费了我们很多时间去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当绘制时使用图片矩阵缩放   

分享到:
评论

相关推荐

    snippets-android,firebase.google.com的android代码片段.zip

    【标题解析】:“snippets-android,firebase.google.com的android代码片段.zip” 提示我们这是一个与Android开发相关的代码片段集合,特别地,它涉及到Firebase服务。Firebase是Google提供的一款全面的后端开发平台...

    Android-Java代码解析class文件

    在Android开发过程中,Java代码是基础,而深入理解编译后的class文件对于优化代码和调试异常至关重要。class文件是Java源代码经过JVM(Java Virtual Machine)编译后的二进制格式,它包含了类的结构、方法、变量等...

    【免费第一弹】android常用代码大全!

    这份压缩包中的核心文件是"Android常用代码.xls",我们可以假设这是一个Excel表格,里面整理了各种Android开发中的关键代码片段。 首先,Android开发主要基于Java语言,因此,这份代码大全可能涵盖了Java语法、...

    Android-学校平台开发代码.rar

    它也暗示了这可能不是一个完整的、可以直接运行的应用,而是作为学习或参考的代码片段集合。"部分代码功能进行参考学习"表明,这些代码可能包含了各种功能的实现,可以供开发者学习Android编程技巧和最佳实践。 ...

    android开发模板

    "Android开发模板"就是为了提高开发效率而设计的一种工具,它集合了开发者在多次项目中反复使用的代码片段、布局设计、功能模块等,使得在新项目中可以快速引入并进行个性化定制,避免重复劳动。以下是基于这个主题...

    Android-Android开发人员不得不收集的代码

    【Android开发人员不得不收集的代码】是一份针对Android开发者的重要资源集合,涵盖了各种实用的代码片段和工具类,旨在提高开发效率和优化代码质量。这个压缩包中的项目名为"Blankj-AndroidUtilCode-0edc62e",表明...

    Roid-Snippets:Android的代码片段

    "Roid-Snippets"是一个专门为Android开发设计的Java代码片段集合,主要面向使用Java语言进行Android应用开发的程序员。 【描述】:“Roid 片段 Android 的代码片段。” 这个项目提供的“Roid 片段”涵盖了Android...

    Android代码库

    以上只是部分Android开发的核心知识点,实际的"Android代码库"可能涵盖了更多细节和实践案例。通过深入学习和实践,开发者可以逐步掌握Android开发的精髓,构建出高效、稳定且用户体验优秀的应用。

    Android中文API集合(相当全的API集合)

    Android中文API集合是一个非常全面的学习资源,包含了Android开发过程中可能会用到的各种API接口和功能的详细解释。这个集合对于初学者和经验丰富的开发者来说都是一份宝贵的参考资料,它可以帮助你深入理解Android...

    Android常用代码集合.pdf

    在Android开发中,经常会遇到各种各样的编程需求,这篇文档整理了一些常见的代码片段,便于开发者快速查找和使用。以下是一些关键的Android代码示例: 1. **调用系统浏览器打开指定网址** ```java Uri uri = Uri....

    android-util:Android 助手和代码片段的集合

    【Android Util:一站式Android开发工具库】 Android Util 是一个针对Android开发者设计的高效工具库,它集合了多种实用的功能模块,旨在简化Android应用的开发工作,提高开发效率。这个库通常包含了各种常用的代码...

    android studio 模板汇集

    在实际操作中,开发者可以将模板中的代码片段应用到自己的项目中,根据需求进行调整和扩展。 总的来说,"android studio 模板汇集"是一个非常有价值的资源库,尤其对于那些刚开始接触Android开发的人来说。它不仅...

    Android开发中的Java多线程编程核心技术及其实现

    内容概要:本文详细介绍了Java多线程编程在Android开发中的应用,涵盖了多线程的基础概念(线程的创建、生命周期、优先级、调度)、同步与锁机制(synchronized关键字、ReentrantLock)、线程池的使用、并发集合与...

    Android项目开发范例大全

    这个压缩包包含了丰富的实例,覆盖了Android开发中的多个关键领域。 1. **基础组件与布局**:Android应用的基础构建块包括Activity、Fragment、Intent等,而布局文件是界面设计的关键。在这个资源包中,你可以找到...

    Android 开发兼容包Support Library18

    在Android开发中,兼容性问题始终是一个挑战,尤其是在面对不同版本Android系统时。为了帮助开发者解决这个问题,Google推出了Support Library,这是一个重要的工具集合,旨在提供对早期Android版本的API功能支持,...

    android精品源码

    15个Android很有用的代码片段.pdf 3G应用开发之Android.ppt Android 图像处理篇.rar Android2.2+API+中文文档系列.pdf Android_CTS测试研究.pdf Android_GoogleMaps基础开发教程.pdf Android_GPS架构分析.doc ...

    android开发辅助工具.zip

    "android开发辅助工具.zip"这个压缩包很可能包含了一些这样的工具集合,旨在帮助开发者更高效地完成任务。以下是一些可能包含在内的Android开发辅助工具及其相关知识点: 1. **Android Studio插件**: - **Android...

    AndroidJourney:Android 教程的各种代码片段

    在Android开发领域,Java语言是主要的编程工具,尤其对于初学者来说,通过一系列的代码片段和教程可以更好地理解和掌握Android应用开发的核心概念和技术。"AndroidJourney:Android 教程的各种代码片段"是一个旨在...

    android代码11

    "android代码11"这个标题暗示了这是一个关于Android编程的集合,可能是某个系列教程或者项目的一部分,而"android代码大全11"则进一步强调这是一份全面的资源,包含了丰富的Android编程示例或代码片段。在这个集合中...

Global site tag (gtag.js) - Google Analytics