Android: виджет отображает представление ошибки

Самый простой способ сделать это - использовать приведенный ниже код:

while(blockSetLength--){ 
    //this will change the class of n-1 dom object 
    blockSet[blockSetLength].className='block-selected';
}
1
задан Tomas 13 July 2018 в 20:37
поделиться

1 ответ

Ты не слишком много делаешь. Весь виджет приложения настроен правильно. Это чисто макет. Кажется, он не удовлетворен сложностью файла playback_widget.xml. Я изменил файл на следующее:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/playback_content"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/poster_imageview"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:src="@drawable/ic_headset_mic_light_black_140dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:id="@+id/title_textview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/app_name"
            android:textAlignment="center"
            android:textColor="@color/primaryTextColor"
            android:textSize="16sp" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:padding="@dimen/default_text_padding">

            <ImageView
                android:id="@+id/player_previous"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_marginEnd="32dp"
                android:layout_marginRight="32dp"
                android:layout_toLeftOf="@+id/player_play_pause"
                android:src="@drawable/ic_skip_previous_white_32dp" />

            <ImageView
                android:id="@+id/player_play_pause"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:src="@drawable/ic_play_arrow_white_40dp" />

            <ImageView
                android:id="@+id/player_next"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_marginLeft="32dp"
                android:layout_marginStart="32dp"
                android:layout_toRightOf="@id/player_play_pause"
                android:src="@drawable/ic_skip_next_white_32dp" />


        </RelativeLayout>
    </LinearLayout>
</LinearLayout>

Теперь вид виджетов выглядит отлично. Я понимаю, что это, вероятно, не точный макет, который вам нужен, но вам просто нужно поиграть с ним, пока не найдете что-то, что ему нравится.

Виджеты главного экрана могут быть бит сложный, потому что у вас есть более ограниченный набор представлений и меньше гибкости с точки зрения макета.

Также я не проверял, но я не уверен, что в виджетах рабочего стола разрешено следующее представление:

 <View
    android:layout_width="match_parent"
    android:layout_height="4dp"
    android:background="?colorAccent" />

Также, если у вас возникли проблемы с тем, чтобы эта ошибка исчезла , Уничтожьте виджет главного экрана и перезапустите телефон. Они иногда попадают в защищенное состояние во время разработки.

Но в любом случае ваш проект отлично работает для меня после изменения playback_widget.xml. Android 8.0.

1
ответ дан Elletlar 17 August 2018 в 12:09
поделиться
  • 1
    Вы были правы, спасибо! Кроме того, еще одна проблема, которую я считаю, - значение цвета. Теперь макет отображается! – Tomas 14 July 2018 в 14:34
  • 2
    Круто. Хорошо знать. Приветствия: :) – Elletlar 14 July 2018 в 17:09
Другие вопросы по тегам:

Похожие вопросы: