软件编程
位置:首页>> 软件编程>> Android编程>> Android编程处理窗口控件大小,形状,像素等UI元素工具类

Android编程处理窗口控件大小,形状,像素等UI元素工具类

作者:LovooGod  发布时间:2022-04-06 04:47:53 

标签:Android,窗口控件

本文实例讲述了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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com