Android的Button小部件样式的源代码在哪里?

Jac*_*ble 2 android styles button

我的Android应用程序使用具有默认样式的Button小部件,除了我的Galaxy Tab 10.1外,它看起来很好.在那里,默认按钮样式似乎已更改为带有黑色文本的深色背景; 它看起来很糟糕.

我试过像这样在XML中手动应用默认的内置按钮样式; 问题平板电脑不会改变行为,而且表现良好的设备也不会改变:

<Button
  style="@android:style/Widget.Button"
  <!-- other stuff -->
  />
Run Code Online (Sandbox Code Playgroud)

问题是另一个内置的Button风格确实在行为不端的平板电脑上很好地显示(灰色背景上的标准黑色文字):

<Button
  style="@android:style/Widget.Button.Small"
  <!-- other stuff -->
  />
Run Code Online (Sandbox Code Playgroud)

当然,问题在于这种风格使按钮更小.我真正想做的就是找到Widget.Button的标准源代码(XML,Java,无论如何)并将其复制粘贴到我的应用程序中.

我在哪里可以找到该源代码?

vor*_*olf 6

您可以在此文件中找到所有样式: <installation folder>\android-sdk-windows\platforms\android-8\data\res\values\styles.xml

哪里android-8可以更改为任何其他版本的sdk.

<style name="Widget.Button">
    <item name="android:background">@android:drawable/btn_default</item>
    <item name="android:focusable">true</item>
    <item name="android:clickable">true</item>
    <item name="android:textAppearance">?android:attr/textAppearanceSmallInverse</item>
    <item name="android:textColor">@android:color/primary_text_light</item>
    <item name="android:gravity">center_vertical|center_horizontal</item>
</style>

<style name="Widget.Button.Small">
    <item name="android:background">@android:drawable/btn_default_small</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但是改变这种风格并不容易,因为它引用了drawables,它们不是图像,而是xml文件,它们有自己对另一个文件的引用.您可以在此处查看其中一个此类文件:...\android-8\data\res\drawable\btn_default.xml