web-dev-qa-db-ja.com

styles.xmlは「?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を継承する方法はありますか?

33
SecStone

AppCompatの場合、親スタイルから継承できます。

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

ソースコード に基づく

62
kip2

属性を継承することはできません。スタイルを継承する必要があります。

継承するテーマに一致するボタンフチなしスタイルを選択します。すべて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>
39
aleung

API 11以降では、代わりにこのスタイルを使用できます。

<style name="EditNotesButton" parent="Android:Widget.Holo.Button.Borderless" />
6
Taoufix

このように相続することはできないと思います。これを試して:

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