Подтвердить что ты не робот

Styles.xml inherit "? android: attr/borderlessButtonStyle"?

Я хотел бы настроить некоторые без рамки ImageButtons. Чтобы избежать дублирования кода, я использую styles.xml:

<style name="EditNotesButton" parent="?android:attr/borderlessButtonStyle">
    <item name="android:layout_width">25dp</item>
    <item name="android:layout_height">25dp</item>
    <item name="android:scaleType">fitCenter</item>
</style>

Однако возникает следующая ошибка:

Error retrieving parent for item: No resource found that matches the given name '?android:attr/borderlessButtonStyle'.

Есть ли способ наследовать borderlessButtonStyle?

4b9b3361

Ответ 1

borderlessButtonStyle доступен только на уровне API 11 или выше.

Ответ 2

Для AppCompat вы можете наследовать от родительского стиля:

<style name="MyBordelessButtonStyle" parent="@style/Widget.AppCompat.Button.Borderless">
        <item name="android:textSize">@dimen/<your size></item>
        <!-- other items here -->
</style>

На основе исходного кода

Ответ 3

Вы не можете наследовать атрибут, вам нужно наследовать стиль.

Выберите стиль без рамки, который соответствует вашей теме для наследования. Все внутренние стили Android можно найти на http://developer.android.com/reference/android/R.style.html

Например, ваше приложение использует тему Holo Light (укажите в AndroidManifest.xml), тогда вы должны наследовать стиль Widget.Holo.Light.Button.Borderless.Small.

<style name="EditNotesButton" parent="@android:style/Widget.Holo.Light.Button.Borderless.Small">
  <item name="android:layout_width">25dp</item>
  <item name="android:layout_height">25dp</item>
  <item name="android:scaleType">fitCenter</item>
</style>

Ответ 4

Вы можете использовать этот стиль вместо API 11 и выше:

<style name="EditNotesButton" parent="android:Widget.Holo.Button.Borderless" />

Ответ 5

Я думаю, что вы не можете наследовать таким образом. Попробуйте следующее:

<style name="EditNotesButton" parent="@android:style/Widget">
    <!-- This will cause borderless button --> 
    <item name="android:background">@android:drawable/list_selector_background</item>
    ...
</style>