2012-01-16 74 views
0

Android MediaController小部件由滾動條視圖和一堆其他視圖組成。我希望能夠進入滾動條,然後調整它的大小。有人可以讓我知道如何訪問它嗎?我無法使用findViewById(),因爲R.java文件位於基本的Android框架中,並且無法在我的項目中訪問。訪問MediaController小部件內的視圖

回答

1

使用getIdentifier(),我可以通過查詢資源來獲取小部件的ID。這樣,即使ID從設備到設備或版本更改,它也會查找正確的ID。

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

請創建您自己的控制器。這並不難。即使你找到Android的開放源代碼的插件ID:

  • 設備製造商可能已經重寫的MediaController並且可以具有不同的控件ID
  • 較舊的Android設備可能有不同的控件ID
  • 未來的Android設備可能有不同的Widget ID

依賴於內部實現細節,如小部件ID等,使您的應用程序變得脆弱。