android上的实用代码片段
来源:互联网 发布:linux 改时间 编辑:程序博客网 时间:2024/06/07 12:28
1、动态获取资源id
int getIdentifier(String name, String defType, String defPackage) 获得资源id
正常情况下,我们可以通过R类获取资源id,但有时候我们需要在代码中根据业务逻辑动态获取资源id,比如layou、drawable、string等,就可以使用Resource类中的
比如下面是代码中获取layout资源id
for(int i=0;i<5;i++){int resID = getActivity().getResources().getIdentifier("view" + i, "layout", getActivity().getPackageName());View rootView = inflater.inflate(resID, container, false);}
2、TypedArray
public float getFraction(@StyleableRes int index, int base, int pbase, float defValue) 获取type="fraction"单位的值
base和pbase表示倍数,比如使用%p则会使用pbase,否则使用base。
在xml中定义两个fraction类型的参数
<item name="fraction" type="fraction">5%</item>
<item name="parent_fraction" type="fraction">2%p</item>
获取的结果为:
// 0.05f
getResources().getFraction(R.fraction.fraction, 1, 1);
// 0.02f
getResources().getFraction(R.fraction.parent_fraction, 1, 1);
// 0.10f
getResources().getFraction(R.fraction.fraction, 2, 1);
// 0.10f
getResources().getFraction(R.fraction.fraction, 2, 2);
// 0.04f
getResources().getFraction(R.fraction.parent_fraction, 1, 2);
// 0.04f
getResources().getFraction(R.fraction.parent_fraction, 2, 2);
3、TypedValue
public static float applyDimension(int unit, float value, DisplayMetrics metrics) { switch (unit) { case COMPLEX_UNIT_PX: //px单位 return value; case COMPLEX_UNIT_DIP: //dip单位 return value * metrics.density; case COMPLEX_UNIT_SP: //sp单位 return value * metrics.scaledDensity; case COMPLEX_UNIT_PT: return value * metrics.xdpi * (1.0f/72); case COMPLEX_UNIT_IN: return value * metrics.xdpi; case COMPLEX_UNIT_MM: return value * metrics.xdpi * (1.0f/25.4f); } return 0; }比如获取dp尺寸
public static int dip2px(Context context, float dip) {return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dip,context.getResources().getDisplayMetrics());}//dip2px(10) 10dp对应的px
3、加载SD卡中的html
文件路径以"file:///mnt/sdcard/" 开头,比如加载SD卡中www目录下的index.html
String baseDir="file:///mnt/sdcard/";String url=baseDir+"www/index.html";webView.loadUrl(url);
- android上的实用代码片段
- Android实用代码片段
- android实用代码片段
- android实用代码片段
- Android实用代码片段
- android 实用代码片段
- Android实用代码片段
- Android 实用代码片段
- 实用的代码片段
- [代码片段] Android实用代码片段整合
- android开发实用代码片段
- android开发实用代码片段
- android 实用代码片段整理
- Android实用代码片段整合
- Android实用代码片段整合
- android实用代码片段(一)
- Android实用代码片段整合
- Android实用代码片段整合
- ConstraintLayout使用实践,对比与常用布局做法的区别、优势。
- MongoDB无法正常关闭
- BottomNavigationView从入门到强行改造,取消位移动画?和ViewPager绑定?添加Badge?
- CSS3--字体
- 40个Java多线程问题总结
- android上的实用代码片段
- Python3 Urllib学习
- Redis跳跃表实现
- BOOL和bool的区别
- Java编程思想重点笔记(Java开发必看)
- 理解CSS3 transform中的Matrix(矩阵)
- 如何提高 Java 中锁的性能
- 两个客户端通过服务器通信(互发)(改进后)
- windows下python3.5使用pip离线安装whl包