中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android編程如何處理窗口控件大小,形狀,像素等UI元素工具類

發布時間:2021-08-25 14:55:17 來源:億速云 閱讀:134 作者:小新 欄目:移動開發

小編給大家分享一下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編程如何處理窗口控件大小,形狀,像素等UI元素工具類”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴海县| 临猗县| 香格里拉县| 嵩明县| 兴宁市| 定西市| 曲水县| 泽库县| 小金县| 永修县| 青海省| 黄平县| 淅川县| 阜阳市| 白沙| 宜丰县| 泊头市| 勐海县| 江安县| 海林市| 北流市| 大港区| 鸡东县| 寿宁县| 剑河县| 南溪县| 子长县| 太白县| 酒泉市| 谷城县| 深圳市| 常山县| 宜兴市| 灵石县| 阳泉市| 梨树县| 达拉特旗| 隆尧县| 乐亭县| 东源县| 原平市|