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" /> <!-- 联网权限 -->
- 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;
- }
- //根据手机的分辨率从 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);
17.移除listview的某一个item
- UserHomePageActivity.listItem.remove(position);//删除此条数据
- this.notifyDataSetChanged();//通知适配器数据源改变
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秒后
- }
- int color = Color.parseColor("#FE555A")
21.Dialog点击周边不消失
- dialog.setCanceledOnTouchOutside(false);// 设置点击屏幕Dialog不消失
22.TextView上下滑动
- android:scrollbars="vertical"//布局文件:设置滚动条的垂直显示
- android:fadeScrollbars="false"//布局文件:设置滚动条是否一直存在
- textView.setMovementMethod(ScrollingMovementMethod.getInstance());//代码中设置
- View view= LayoutInflater.from(mContext).inflate(R.layout.activity_main, null);
- 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;
- }
- }