Android编程处理窗口控件大小,形状,像素等UI元素工具类
作者:LovooGod 时间:2022-04-06 04:47:53
本文实例讲述了Android编程处理窗口控件大小,形状,像素等UI元素工具类。分享给大家供大家参考,具体如下:
/**
* 处理窗口控件大小,形状,像素等工具类
*
* @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程序设计有所帮助。
来源:http://blog.csdn.net/lovoo/article/details/51209480
标签:Android,窗口控件
0
投稿
猜你喜欢
Spring Boot 文件上传与下载的示例代码
2021-08-30 02:04:53
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2023-05-01 19:30:11
Mybatis 动态SQL的几种实现方法
2023-11-10 12:15:15
struts2单个文件上传的两种实现方式
2023-04-23 05:33:30
快速了解c# 常量
2023-06-26 23:35:32
java清除u盘内存卡里的垃圾文件示例
2023-05-12 06:41:38
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
2021-06-01 14:28:00
android全局监控click事件的四种方式(小结)
2023-05-02 07:33:31
Java 反射类型Type的用法说明
2023-01-23 04:15:44
unity实现简单贪吃蛇游戏
2023-05-25 23:59:53
Java数据结构之线段树中的懒操作详解
2021-08-20 00:21:52
从try-with-resources到ThreadLocal,优化你的代码编写方式
2023-11-11 03:19:52
java 中clone()的使用方法
2023-03-31 12:11:37
详解C# 线程的挂起与唤醒
2023-03-12 12:40:02
SpringBoot集成elasticsearch使用图文详解
2021-06-06 16:12:47
Java实现调用外部程序的示例代码
2023-11-10 06:43:12
SpringBoot框架集成ElasticSearch实现过程示例详解
2023-02-02 08:44:05
带你了解Java数据结构和算法之链表
2023-01-04 21:23:58
linux下idea、pycharm等输入中文拼音时满3个字母后无法继续拼音输入的问题
2022-03-03 20:49:19
Java Shutdown Hook场景使用及源码分析
2023-05-19 06:01:30