1、获取屏幕宽高。
方法1:
WindowManager wm = this.getWindowManager();
int displayheight = wm.getDefaultDisplay().getHeight();
方法2:
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics outMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
mScreenWidth = outMetrics.widthPixels;
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
2.获取自定义属性值
/**
* 当使用了自定义属性时,调用
* @param context
* @param attrs
* @param defStyle
*/
public SlideMenuView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
//获取我们定义的属性
TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.SlidingMenuView,
defStyle, 0);
int n = a.getIndexCount();
for(int i=0; i<n; i++){
int attr = a.getIndex(i);
switch (attr) {
case R.styleable.SlidingMenuView_rightPadding:
mMenuRightPadding = a.getDimensionPixelOffset(attr,
(int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,100,
context.getResources().getDisplayMetrics()));
break;
default:
break;
}
}
a.recycle();
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics outMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
mScreenWidth = outMetrics.widthPixels;
/*//将dp转为px
mMenuRightPadding = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,100,
context.getResources().getDisplayMetrics());*/
}
其中,R.styleable.SlidingMenuView指的是attr.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="rightPadding" format="dimension">
</attr>
<declare-styleable name="SlidingMenuView">
<attr name="rightPadding"/>
</declare-styleable>
</resources>
3.切换状态的标准写法
/**
* 打开菜单
*/
private void openMenu(){
if(isOpen) return;
this.smoothScrollTo(0, 0);
isOpen = true;
}
/**
* 关闭菜单
*/
private void closeMenu(){
if(!isOpen) return;
this.smoothScrollTo(mMenuWidth, 0);
isOpen = false;
}
/**
* 切换菜单
*/
public void toggle(){
if(isOpen){
closeMenu();
}else{
openMenu();
}
}
4。Android中获取系统的日期
注意:DateUtils工具类在String android.text.format.DateUtils.formatDateTime(Context context, long millis, int flags)中,只可以在Android中。
String label = DateUtils.formatDateTime(MainActivity.this,
System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME
| DateUtils.FORMAT_SHOW_DATE
| DateUtils.FORMAT_ABBREV_ALL);
结果为:
01-30 16:38:13.681: I/System.out(24046): 1月 30 日 16:38