Android 小方法

来源:互联网 发布:淘宝职业打假人被判刑 编辑:程序博客网 时间:2024/06/06 05:19
  • 根据图片名获取图片id
 public static int getDrawbleId(Context context, String name) {        return context.getResources().getIdentifier(name, "drawable", context.getPackageName());    }
  • 获取textView是否被截断 stackoverflow
    在ViewHolder中不调用onGlobalLayoutListener,使用onPreDrawListener
     textView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {            @Override            public void onGlobalLayout() {                if (Build.VERSION.SDK_INT >= 16) {                    textView.getViewTreeObserver().removeOnGlobalLayoutListener(this);                }else {                    textView.getViewTreeObserver().removeGlobalOnLayoutListener(this);                }                Layout l = textView.getLayout();                if (l != null) {                    int lines = l.getLineCount();                    if (lines > 0)                        if (l.getEllipsisCount(lines - 1) > 0)                            LogUtil.d("Text is ellipsized");                }            }        });
  • ListView模拟点击 stackoverflow
lv_left.performItemClick(mAdapter.getView(position, null, null), position, mAdapter.getItemId(position));
  • 判断当前线程是否为主线程
if (Looper.myLooper() == Looper.getMainLooper()){    //...}
  • 设置和获取Actionbar高度
if(getContext().getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {    int actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());}//在style中配置<item name="android:actionBarSize">@dimen/actionBar_size</item><item name="actionBarSize">@dimen/actionBar_size</item>
  • Fragment 展出、消失动画
getFragmentManager().beginTransaction()    //设置动画要在add之前    .setCustomAnimations(R.anim.left_to_right,R.anim.right_to_left, R.anim.left_to_right, R.anim.right_to_left)    .add(R.id.mainContainer, Fragment.instantiate(mContext, name), "TAG")    .addToBackStack(null)    .commitAllowingStateLoss();
  • 遍历SpareArray
// 用keyAt(int index)获取索引或者valueAt(int index)获取值int key = 0;for(int i = 0,size = sparseArray.size(); i < size; i++) {       key = sparseArray.keyAt(i);       Object obj = sparseArray.get(key);}
0 0
原创粉丝点击