Android常用部分小功能代码

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

 1.给控件设置焦点

tvTitle.setFocusable(true);
tvTitle.setFocusableInTouchMode(true);
tvTitle.requestFocus();
tvTitle.requestFocusFromTouch();

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

android:singleLine="true"
android:ellipsize="end"

 3.圆形背景

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

然后在控件中引用背景

<?xml version="1.0" encoding="UTF-8"?>
<shape 
	xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    android:useLevel="false" >
    <solid android:color="#F05F4C" />
    <padding 
		android:left="2dp" 
		android:top="1dp" 
		android:right="2dp" 
		android:bottom="1dp" />
    <solid
        android:color="#F05F4C" />
    <stroke
        android:width="1dp"
        android:color="@android:color/white" />
    <size android:width="15dp"
          android:height="15dp" />
</shape>


 4.从当前Activity获得根视图 

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

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

Drawable img;
Resources res = getResources();
img = res.getDrawable(imgPath);
//调用setCompoundDrawables时,必须调用Drawable.setBounds()方法,否则图片不显示
img.setBounds(0, 0, img.getMinimumWidth(), img.getMinimumHeight());
TextView tv;
tv.setCompoundDrawables(img, null, null, null); //设置左图标

 6.ImageView图像不拉伸 

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

android:scaleType="center"

 7.获取手机分辨率 

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

 8.Color工具类 parseColor 

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

 9.Eclipse不自动生成R文件 

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

 10.图片加载 

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

<uses-permission android:name="android.permission.INTERNET" /> <!-- 联网权限 -->
b.在代码中使用Picasso.jar ( Picasso官网 、  Picasso下载) 显示图片:

Context mContext = this ; //获取context
ImageView iv = (ImageView) findViewById(R.id.iv);//初始化控件
Picasso.with(mContext).load("http://i.imgur.com/DvpvklR.png").into(iv);//用Picasso.jar将图片显示到控件上

 11.返回View 

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

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

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

 14.异常处理机制 

try{
//代码区
}catch(Exception e){
//异常处理
}

 15.ScrollView置顶 

mScrollView.smoothScrollTo(0, 0);
 16.动态设置控件属性 

 17.移除listview的某一个item 

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

 18.生成随机数 

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

 19.几秒钟后跳过 

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

21.Dialog点击周边不消失

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

22.TextView上下滑动

android:scrollbars="vertical"//布局文件:设置滚动条的垂直显示
android:fadeScrollbars="false"//布局文件:设置滚动条是否一直存在

textView.setMovementMethod(ScrollingMovementMethod.getInstance());//代码中设置
 23.获取View 
View view= LayoutInflater.from(mContext).inflate(R.layout.activity_main, null);
 24.获取音频文件时长 
    private int getAmrDuration(String path) {
        try {
            MediaPlayer mediaPlayer = new MediaPlayer();
            mediaPlayer.setDataSource(path);
            mediaPlayer.prepare();//缓冲
            int duration = mediaPlayer.getDuration() / 1000;
            mediaPlayer.release();
            mediaPlayer = null;
            return duration;
        } catch (Exception e) {
            return 0;
        }
    }

两个ArrayList<Object>交换数据

错误:studentSeats = studentSeatsNode;

正确如下:

studentSeats = (ArrayList)studentSeatsNode.clone();

获取当前应用是否是Debug模式:

    public static boolean isApkDebugable(Context context) {
        try {
            ApplicationInfo info = context.getApplicationInfo();
            return (info.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
        } catch (Exception e) {

        }
        return false;
    }





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值