最近在做一个android player项目,想要默认使用android的internal资源,比如:

com.android.internal.R.layout.media_controller
但是,直接使用会报编译错误:

com.android.internal.R does not exist

You cannot import the internal android class, as the internal.R class isn't visible.

但是可以通过其他的方式来访问,如下:

int mediaControllerId = Resources.getSystem().getIdentifier("media_controller", "layout", "android");View layout = ((LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(mediaControllerId, this);
同理,可以访问:

mPrevButton = (ImageButton) layout.findViewById(Resources.getSystem().getIdentifier("prev","id", "android"));mProgress = (ProgressBar) layout.findViewById(Resources.getSystem().getIdentifier("mediacontroller_progress","id", "android"));mPauseButton = (ImageButton) layout.findViewById(Resources.getSystem().getIdentifier("pause","id", "android"));

getIdentifier的使用方式如下,会返回name对应的id,

Resources.getSystem().getIdentifier(name, defType, defPackage)

而上述name/defType/defPackage如何得到?可以从源码中获得相应的信息

更多相关文章

  1. android post方式传递参数并获取返回数据代码
  2. android 数据存储总结及各种存储方式
  3. Android 获得屏幕宽高的三种方式
  4. 如何修改Android5.1系统USB连接方式默认MTP
  5. Android 日历方式显示的日期选择组件
  6. Android四种点击事件和五中存储方式
  7. android 定时请求(两种实现方式)
  8. android使用Animation的两种方式

随机推荐

  1. android6.0下载路径设置
  2. Android 关于WebView加载完成的多种监听
  3. android push机制-C2DM
  4. 特效--------圆角 倒影
  5. android 播放器解析MP3文件乱码分析
  6. android声音检测仪---分贝仪 (附源码)
  7. Android MediaPlayer 分析- MediaPlayerS
  8. Android制作 9-Patch图片(可调整大小的位
  9. Android NDK: WARNING: APP_PLATFORM And
  10. 类似HTML map标签功能的Android组件