1

当我要使用此按钮样式时,会出现以下消息:

错误:资源 android:style/Widget.Button.Transparent 是私有的。

关于我的系统的详细信息:

  • 操作系统:Ubuntu 16.04 LTS
  • Android Studio 3.1.4 Build # AI-173.4907809,于 2018 年 7 月 23 日构建
  • JRE:1.8.0_152-release-1024-b01 amd64
  • JVM:JetBrains sro 的 OpenJDK 64 位服务器 VM
  • Linux 4.15.0-33-通用
4

1 回答 1

1

自己做吧:

styles.xml来源):

<style name="Widget.Button.Transparent">
    <item name="background">@drawable/btn_default_transparent</item>
    <item name="textAppearance">?attr/textAppearanceSmall</item>
    <item name="textColor">@color/white</item>
</style>

btn_default_transparent.xml您的drawable文件夹中(source):

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 The Android Open Source Project
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
          http://www.apache.org/licenses/LICENSE-2.0
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" 
        android:drawable="@drawable/btn_default_pressed" />
    <item android:state_focused="true" android:state_enabled="true"
        android:drawable="@drawable/btn_default_selected" />
    <item android:state_enabled="true"
        android:drawable="@drawable/btn_default_transparent_normal" />
</selector>

此处引用的可绘制对象是九个补丁 PNG,并且位于特定于 DPI 的位置。您可以使用 访问它们@android:drawable/,但如果不能,这是我可以在以下位置找到它们的最高密度:https ://github.com/aosp-mirror/platform_frameworks_base/tree/master/core/res/res/drawable- xhdpi/ .

于 2018-09-10T13:36:12.277 回答