Android 处理窗口控件大小,形状,像素等工具
2016-04-21 15:29
441 查看
/**
* 处理窗口控件大小,形状,像素等工具
*
* @author chen.lin
*
*/
public class UITools {
/**
* 把像素转化为dp
*
* @param context
* @param px
* @return
*/
public static int px2dip(Context context, float px) {
float density = context.getResources().getDisplayMetrics().density;
return (int) (px * density + 0.5f);
}
}
* 处理窗口控件大小,形状,像素等工具
*
* @author chen.lin
*
*/
public class UITools {
/**
* 把像素转化为dp
*
* @param context
* @param px
* @return
*/
public static int px2dip(Context context, float px) {
float density = context.getResources().getDisplayMetrics().density;
return (int) (px * density + 0.5f);
}
/** * 设置窗体的宽度 * @param context */ public static void setWinWidth(Activity context) { DisplayMetrics metric = new DisplayMetrics(); context.getWindowManager().getDefaultDisplay().getMetrics(metric); LayoutParams p = context.getWindow().getAttributes(); p.width = (int) (metric.widthPixels * 0.8); context.getWindow().setAttributes(p); } /** * 设置弹出窗口中listview的高度 * * @param listView */ public static void setListViewHeight(ListView listView) { // 获取ListView对应的Adapter ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { return; } int totalHeight = 0; for (int i = 0, len = listAdapter.getCount(); i < len; i++) { // listAdapter.getCount()返回数据项的数目 View listItem = listAdapter.getView(i, null, listView); listItem.measure(0, 0); // 计算子项View 的宽高 totalHeight += listItem.getMeasuredHeight(); // 统计所有子项的总高度 } ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); // listView.getDividerHeight()获取子项间分隔符占用的高度 // params.height最后得到整个ListView完整显示需要的高度 listView.setLayoutParams(params); }
}
相关文章推荐
- android 高德地图出现【定位失败key鉴权失败】
- Win8下Android SDK的安装与环境变量配置
- Android 解决listView item点击事件被其他控件屏蔽的问题
- Android——天气预报(MVP、Gson和天气、百度地图Api的练习)
- android:layout_weight的真实含义
- Android全屏模式,沉浸模式。粘性沉浸模式
- Android 创建目录方法却创建出一个文件的问题
- Android 解压工具类
- android通知声音
- apk调试时可以运行 ,打包签名之后运行闪退
- android_自定义折叠View
- Android实现View滑动的几种方式
- Android中IntentService与Service的区别
- Android之NDK开发
- android中常常使用shape来定义控件的一些显示属性
- Android getWidth和getMeasuredWidth的正解
- Android 身份证、车牌号验证工具类
- Android Studio设置或修改Android SDK路径
- android 文档路径获取
- Android最基本的异步网络请求框架