关于显示的Util
2017-04-13 15:55
218 查看
public class DisplayUtil { /** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue scale * (DisplayMetrics类中属性density) * @return */ public static int px2dip(float pxValue) { final float scale = x.app().getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } /** * 将dip或dp值转换为px值,保证尺寸大小不变 * * @param dipValue scale * (DisplayMetrics类中属性density) * @return */ public static int dip2px(float dipValue) { final float scale = x.app().getResources().getDisplayMetrics().density; return (int) (dipValue * scale + 0.5f); } /** * 将px值转换为sp值,保证文字大小不变 * * @param pxValue fontScale * (DisplayMetrics类中属性scaledDensity) * @return */ public static int px2sp(float pxValue) { final float fontScale = x.app().getResources().getDisplayMetrics().scaledDensity; return (int) (pxValue / fontScale + 0.5f); } /** * 将sp值转换为px值,保证文字大小不变 * * @param spValue fontScale * (DisplayMetrics类中属性scaledDensity) * @return */ public static int sp2px(float spValue) { final float fontScale = x.app().getResources().getDisplayMetrics().scaledDensity; return (int) (spValue * fontScale + 0.5f); } // //手机屏幕尺寸 // public static String getScreenSizeOfDevice(Activity context) { int w=context.getWindowManager().getDefaultDisplay().getWidth(); int h=context.getWindowManager().getDefaultDisplay().getHeight(); float ydpi=x.app().getResources().getDisplayMetrics().ydpi; float xdpi= x.app().getResources().getDisplayMetrics().xdpi; float hInches=h/ydpi; float wInches=w/xdpi; double screenInches =Math.sqrt(Math.pow(hInches, 2) + Math.pow(wInches, 2)); return (screenInches + ""); } /** * ListView已到顶部的判断 * @param listView * @return */ public static boolean isListViewReachTopEdge(final ListView listView) { boolean result=false; if(listView.getFirstVisiblePosition()==0){ final View topChildView = listView.getChildAt(0); result=topChildView.getTop()==0; } return result ; } /** * ListView已到底部的判断 * @param listView * @return */ public static boolean isListViewReachBottomEdge(final ListView listView) { boolean result=false; if (listView.getLastVisiblePosition() == (listView.getCount() - 1)) { final View bottomChildView = listView.getChildAt(listView.getLastVisiblePosition() - listView.getFirstVisiblePosition()); result= (listView.getHeight()>=bottomChildView.getBottom()); }; return result; } }
相关文章推荐
- 在自己的应用程序中显示Windows关于对话框
- 今日的问题:关于java.util包的几个问题?
- 关于html中文显示乱码
- JSP定制标记——分析java.util.Locale,根据地区选择显示日期的标记
- 关于日期的显示与输入
- 最近在研究dnn3.0.12,有个关于地址栏显示的问题
- 各位C#高手,我编了个小小关于TreeView控件的程序但就是在窗口上显示不出来.帮忙解决下.
- [导入]关于孟子E章《利用Repeater控件显示主-从关系数据表》的一点补充
- 关于错误信息的显示
- 关于JDK中的java.util.concurrent.atomic
- [导入]关于日期的显示与输入
- 关于输入框中显示双引号和单引号
- 关于tomcat显示中文页面乱码的解决方法
- 10月23日:关于在FlexCell从SQL2000里加载记录,并实现层次化显示
- 关于控制控件的显示Z顺序
- 关于前端JSP显示的一些问题
- 关于存储在Sql中图像得显示
- 关于网络和拨号连接无法显示解决方式
- 一个关于asp显示记录的问题
- 郁闷了半天,原来是这个问题:关于C#中关于图片保存到数据库以及将数据库中的图片显示到PictureBox。