Переопределение контроллера exoplayer выдает ошибку:(27, 34) Не найдено ни одного ресурса, соответствующего данному имени (в 'id' со значением '@id/exo_next')
Я пытаюсь добавить полноэкранную кнопку к элементам управления exoPlayer. Я создал XML-файл с именем
exo_playback_control_view.xml
согласно этому такому вопросу
но это дает мне целый набор ошибок, которые я не знаю, как решить
это мой xml файл
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingTop="4dp"
android:orientation="horizontal">
<ImageButton android:id="@id/exo_prev"
style="@style/ExoMediaButton.Previous"/>
<ImageButton android:id="@id/exo_rew"
style="@style/ExoMediaButton.Rewind"/>
<ImageButton android:id="@id/exo_play"
style="@style/ExoMediaButton.Play"/>
<ImageButton android:id="@id/exo_pause"
style="@style/ExoMediaButton.Pause"/>
<ImageButton android:id="@id/exo_ffwd"
style="@style/ExoMediaButton.FastForward"/>
<ImageButton android:id="@id/exo_next"
style="@style/ExoMediaButton.Next"/>
// This is the custom button
<ImageButton
android:id="@+id/exo_fullscreen_button"
style="@style/ExoMediaButton"
android:src="@drawable/ic_fullscreen"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView android:id="@id/exo_position"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:textStyle="bold"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:includeFontPadding="false"
android:textColor="#FFBEBEBE"/>
<SeekBar android:id="@id/exo_progress"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="32dp"
android:focusable="false"
style="?android:attr/progressBarStyleHorizontal"/>
<TextView android:id="@id/exo_duration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:textStyle="bold"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:includeFontPadding="false"
android:textColor="#FFBEBEBE"/>
</LinearLayout>
и это ошибки, которые я получаю
Error:(15, 34) No resource found that matches the given name (at 'id' with value '@id/exo_rew').
Error:(18, 34) No resource found that matches the given name (at 'id' with value '@id/exo_play').
Error:(19, 20) No resource found that matches the given name (at 'style' with value '@style/ExoMediaButton.Play').
Error:(21, 34) No resource found that matches the given name (at 'id' with value '@id/exo_pause').
Error:(22, 20) No resource found that matches the given name (at 'style' with value '@style/ExoMediaButton.Pause').
Error:(24, 34) No resource found that matches the given name (at 'id' with value '@id/exo_ffwd').
Error:(27, 34) No resource found that matches the given name (at 'id' with value '@id/exo_next').
Error:(44, 31) No resource found that matches the given name (at 'id' with value '@id/exo_position').
Error:(54, 30) No resource found that matches the given name (at 'id' with value '@id/exo_progress').
Error:(61, 31) No resource found that matches the given name (at 'id' with value '@id/exo_duration').
Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt
что я могу сделать ИЛИ как я могу добавить новую кнопку в элементы управления
2 ответа
Решение
<ImageView
android:id="@+id/nearestPhoneIV"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginBottom="5dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="5dp"
android:src="@drawable/phone"/>
идентификатор должен быть "@+id/idname"
<TextView android:id="@+id/exo_position"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:textStyle="bold"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:includeFontPadding="false"
android:textColor="#FFBEBEBE"/>
@id/exo_position используется для повторного использования идентификатора представления, а @+id/exo_position используется для объявления нового идентификатора представления.
<style name="CustomExoMediaButton">
<item name="android:background">?android:attr/selectableItemBackground</item>
<item name="android:scaleType">fitXY</item>
<item name="android:layout_width">@dimen/video_view_exo_player_play_pause_button_dimen</item>
<item name="android:layout_height">@dimen/video_view_exo_player_play_pause_button_dimen</item>
</style>
<style name="CustomExoMediaButton.Play">
<item name="android:src">@drawable/ic_play_circle_filled</item>
</style>
<style name="CustomExoMediaButton.Pause">
<item name="android:src">@drawable/ic_pause_circle_filled</item>
</style>
Обратитесь к этой ссылке, чтобы узнать, что вы реализуете.
Удачного кодирования:)