在MediaController小部件中访问View

时间:2012-01-16 23:53:20

标签: android

Android MediaController小部件由滚动条视图和一堆其他视图组成。我希望能够进入滚动条然后调整大小。有人可以告诉我如何访问它吗?我不能使用findViewById(),因为R.java文件位于基本Android框架中,在我的项目中无法访问。

2 个答案:

答案 0 :(得分:1)

使用getIdentifier(),我可以通过查询资源来获取窗口小部件的ID。这样,即使ID在不同设备或版本之间变化,它也会寻找正确的ID。

final int topContainerId = getResources().getIdentifier("mediacontroller_progress", "id", "android");
final SeekBar seekbar = (SeekBar) mMediaControlsView.findViewById(topContainerId);

答案 1 :(得分:0)

请创建自己的控制器。这并不难。即使你要找到Android开源代码的小部件ID:

  • 设备制造商可能已经重写了MediaController,并且可能具有不同的小部件ID
  • 较旧的Android设备可能具有不同的小部件ID
  • 未来的Android设备可能有不同的小部件ID

依赖内部实现细节(如小部件ID等)会使您的应用程序变得脆弱。