• Android常用部分小功能代码


     0.永远记住:代码不会无故出错!  1.水平不行,就该骂!  2当你没有价值的时候,就没有了话语权!

     1.给控件设置焦点

    1. tvTitle.setFocusable(true);  
    2. tvTitle.setFocusableInTouchMode(true);  
    3. tvTitle.requestFocus();  
    4. tvTitle.requestFocusFromTouch();  

     2.TextView超出部分末尾用"..."代替

    1. android:singleLine="true"  
    2. android:ellipsize="end"  

     3.圆形背景

    在res/drawable文件件中新建***.xml文件 内容如下:

    然后在控件中引用背景

    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <shape   
    3.     xmlns:android="http://schemas.android.com/apk/res/android"  
    4.     android:shape="oval"  
    5.     android:useLevel="false" >  
    6.     <solid android:color="#F05F4C" />  
    7.     <padding   
    8.         android:left="2dp"   
    9.         android:top="1dp"   
    10.         android:right="2dp"   
    11.         android:bottom="1dp" />  
    12.     <solid  
    13.         android:color="#F05F4C" />  
    14.     <stroke  
    15.         android:width="1dp"  
    16.         android:color="@android:color/white" />  
    17.     <size android:width="15dp"  
    18.           android:height="15dp" />  
    19. </shape>  


     4.从当前Activity获得根视图 

    getWindow().getDecorView()就是根视图了,当然用Activity.getWindow.getDecorView()来表达意思更为明确。

     5.动态设置Android:drawableLeft|Right|Top|Bottom 

    1. Drawable img;  
    2. Resources res = getResources();  
    3. img = res.getDrawable(imgPath);  
    4. //调用setCompoundDrawables时,必须调用Drawable.setBounds()方法,否则图片不显示  
    5. img.setBounds(00, img.getMinimumWidth(), img.getMinimumHeight());  
    6. TextView tv;  
    7. tv.setCompoundDrawables(img, nullnullnull); //设置左图标  

     6.ImageView图像不拉伸 

    在ImageView控件布局代码中,加入下面这一句属性

    1. android:scaleType="center"  

     7.获取手机分辨率 

    1. // 获取屏幕分辨率  
    2. DisplayMetrics dm = new DisplayMetrics();  
    3. getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);  
    4. int mScreenWidth = dm.widthPixels;  
    5. int mScreenHeight = dm.heightPixels;  
    6. System.out.println("该手机高度为:" + mScreenHeight + "像素   宽度为:" + mScreenWidth + "像素");  

     8.Color工具类 parseColor 

    1. btn.setBackgroundColor(Color.parseColor("#87CEFA"));  

     9.Eclipse不自动生成R文件 

    前提是确定项目没有错误:打开Eclipse - 工具栏 - Project - Clean... - Clean projects selected below - OK.

     10.图片加载 

    a.在AndroidManifest.xml文件里添加联网权限:

    1. <uses-permission android:name="android.permission.INTERNET" /> <!-- 联网权限 -->  
    b.在代码中使用Picasso.jar (Picasso官网 、 Picasso下载) 显示图片:
    1. Context mContext = this ; //获取context  
    2. ImageView iv = (ImageView) findViewById(R.id.iv);//初始化控件  
    3. Picasso.with(mContext).load("http://i.imgur.com/DvpvklR.png").into(iv);//用Picasso.jar将图片显示到控件上  

     11.返回View 

    1. //返回ViewPager每个view  
    2. private View initPagerItem(String url) {  
    3.     LayoutInflater mLayoutInflater = null;  
    4.     View layout1 = mLayoutInflater.inflate(R.layout.tuijian_header, null);  
    5.     ImageView imageView1 = (ImageView) layout1.findViewById(R.id.tuijian_header_img);  
    6.     ImageLoader.getInstance().displayImage(url,imageView1 ,ImageLoaderEffect.effect());  
    7.     return layout1;  
    8. }  
     12.dp、px单位转换 
    1. //根据手机的分辨率从 dp 的单位 转成为 px(像素)  
    2. public static int dpToPx(Context context, float dpValue) {    
    3.     final float scale = context.getResources().getDisplayMetrics().density;    
    4.     return (int) (dpValue * scale + 0.5f);    
    5. }    
    6.     
    7. //根据手机的分辨率从 px(像素) 的单位 转成为 dp  
    8. public static int pxToDp(Context context, float pxValue) {    
    9.     final float scale = context.getResources().getDisplayMetrics().density;    
    10.     return (int) (pxValue / scale + 0.5f);    
    11. }  

     13.一个字符串中是否包含某个字符 

    1. if("你好 Android".contains("Android")){  
    2.             System.out.println("你好Android中包含Android字符");  
    3.         }  

     14.异常处理机制 

    1. try{  
    2. //代码区  
    3. }catch(Exception e){  
    4. //异常处理  
    5. }  

     15.ScrollView置顶 

    1. mScrollView.smoothScrollTo(00);  
     16.动态设置控件属性 

     17.移除listview的某一个item 

    1. UserHomePageActivity.listItem.remove(position);//删除此条数据  
    2. this.notifyDataSetChanged();//通知适配器数据源改变  
    在自定义适配器里调用remove()方法,删除数据源中item对应的这条数据;然后再this.notifyDataSetChanged();通知适配器数据源改变;这样就达到了删除一条itm的目的

     18.生成随机数 

    1. Random random = new Random();  
    2. int i = random.nextInt(10);//随机生成0-9的随机数  

     19.几秒钟后跳过 

    1. //5秒后跳转转Activity  
    2.     private void justLuckResult(){  
    3.         final Intent mIntent = new Intent(this, Activity1.class); //你要转向的Activity     
    4.         Timer mTimer = new Timer();   
    5.         TimerTask task = new TimerTask() {    
    6.             @Override    
    7.             public void run() {     
    8.             startActivity(mIntent); //执行    
    9.              }   
    10.          };  
    11.         mTimer.schedule(task, 1000 * 5); //5秒后  
    12.     }  
     20.将16进制颜色转换为int型 
    1. int color = Color.parseColor("#FE555A")  

    21.Dialog点击周边不消失

    1. dialog.setCanceledOnTouchOutside(false);// 设置点击屏幕Dialog不消失  

    22.TextView上下滑动
    1. android:scrollbars="vertical"//布局文件:设置滚动条的垂直显示  
    2. android:fadeScrollbars="false"//布局文件:设置滚动条是否一直存在  
    1. textView.setMovementMethod(ScrollingMovementMethod.getInstance());//代码中设置  
     23.获取View 
    1. View view= LayoutInflater.from(mContext).inflate(R.layout.activity_main, null);  
     24.获取音频文件时长 
    1. private int getAmrDuration(String path) {  
    2.     try {  
    3.         MediaPlayer mediaPlayer = new MediaPlayer();  
    4.         mediaPlayer.setDataSource(path);  
    5.         mediaPlayer.prepare();//缓冲  
    6.         int duration = mediaPlayer.getDuration() / 1000;  
    7.         mediaPlayer.release();  
    8.         mediaPlayer = null;  
    9.         return duration;  
    10.     } catch (Exception e) {  
    11.         return 0;  
    12.     }  

  • 相关阅读:
    刷题0705 双指针思想归类
    基于Svelte3.x桌面端UI组件库Svelte UI
    Android Calendar 系统日历提醒、日程同步系统
    apk安装到系统文件夹
    Redis docker 主从模式与哨兵sentinel
    Nexus创建maven仓库导入maven依赖
    我们的力量的来源
    iOS项目嵌入Unity的View(Swift )
    面试题
    Alist+Raidriver+网盘
  • 原文地址:https://www.cnblogs.com/miaozhenzhong/p/5931015.html
Copyright © 2020-2023  润新知