65Popupwindow的美化&&屏幕适配&&像素转dp的工具类的写法
来源:互联网 发布:linux下vim环境配置 编辑:程序博客网 时间:2024/06/07 09:57
使用资源图片指定的布局来美化弹出窗体:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:background="@drawable/local_popup_bg" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/img1" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="卸载" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/img2" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="启动" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/img3" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="分享" /> </LinearLayout> </LinearLayout>代码中加载view:
View contentView = View.inflate(getApplicationContext(), R.layout.popup_app_item, null);
运行:
现在这个弹出窗体距离左边太近了,得让他距离左边的距离远一点,在代码中指定的大小单位均为像素,我们需要使用dip,这样才能适配各种各样的屏幕
package com.ustc.mobilemanager.utils;import android.content.Context;public class DensityUtil { /** * 根据手机的分辨率从 dip 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } }
调用:
int dip = 60;int px = DensityUtil.dip2px(getApplicationContext(), dip);popupWindow.showAtLocation(parent, Gravity.LEFT | Gravity.TOP, px, location[1]);
0 0
- 65Popupwindow的美化&&屏幕适配&&像素转dp的工具类的写法
- DisplayUtil 把dp或sp转成px(像素)的工具类。适配不同屏幕
- iphone 的屏幕像素
- popupWindow 的一种实现写法
- 像素万能适配转换的工具类
- 获得屏幕上的像素
- 获得屏幕上的像素
- 一个像素转换工具类的实现——dp,px,sp之间的相互转换
- Dp Sp转像素值的方法
- PopupWindow 布局文件的两种写法
- Android懒人专用PopupWindow的工具类
- 程序代码美化工具的使用
- Java的代码美化工具
- HibernateUtil工具类的写法
- Android dp方式的屏幕适配工具使用(bat批处理方式)
- Android dp方式的屏幕适配工具使用(Android Studio插件方式)
- Android dp方式的屏幕适配工具使用(一些疑惑和注意事项)
- 屏幕的像素是根据DisplayMetrics类来获取的
- HDFS常用操作
- 【Android/java】3种时间获取方法的差异
- Android数据库操作
- QT中运行程序时出现错误“ QApplication: No such file or directory"
- 第十七周 项目7 电子词典结构体版
- 65Popupwindow的美化&&屏幕适配&&像素转dp的工具类的写法
- java 日期计算(几天前后)
- 嵌入式软件的重构思想
- Zernike矩及Opencv实现
- 树莓派驱动步进式电机python编程实现
- Android自定义类似ProgressDialog效果的Dialog
- 【cocos2d-js官方文档】二十五、Cocos2d-JS v3.0中的单例对象
- Linux下图形安装Oracle11g
- sgu177:Square(矩形分割)