【问题标题】:Button Background Not Loading - Android Studio按钮背景未加载 - Android Studio
【发布时间】:2021-04-26 11:17:38
【问题描述】:

我有一个简单的活动,其中包含一个微调器、一个列表视图和一个按钮。我为按钮背景制作了一个 xml 文件以供使用,但是当我尝试将其放在按钮上时它不起作用(不仅在此活动中,而且在任何活动中)。我试着把这个背景放在微调器上,它似乎可以工作,有人知道为什么它不能专门用于按钮吗?

xml:

<TextView
    android:text="Leaderboard"
    android:layout_width="245dp"
    android:layout_height="50dp"
    android:layout_marginTop="20dp"
    android:layout_gravity="center"
    android:gravity="center"
    android:textSize="25dp"
    android:textColor="#ffffff"
    android:id="@+id/tvHeadline" />

<Spinner
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/genreSpinner"
    android:background="@drawable/button_border"/>

<ListView
    android:minWidth="25px"
    android:minHeight="25px"
    android:layout_width="match_parent"
    android:layout_height="340.5dp"
    android:id="@+id/lvLeaderboard" />

<Button
    android:text="Back to main page"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="@android:color/white"
    android:background:"@drawable/button_border"
    android:id="@+id/btnGoBack"
    />

它在设计视图中的外观:https://i.stack.imgur.com/yP3q0.png

*我可以在手机上运行应用程序,但按钮背景仍然无法加载

编辑:这是 button_border.xml


<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:top="8px">
       <layer-list>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#030f0b" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="3px"
                       android:left="3px"
                       android:right="3px"
                       android:top="3px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#051a14" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="2px"
                       android:left="2px"
                       android:right="2px"
                       android:top="2px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#0d4f39" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="2px"
                       android:left="2px"
                       android:right="2px"
                       android:top="2px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#0d4f38" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="1px"
                       android:left="1px"
                       android:right="1px"
                       android:top="1px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#0f7556" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="1px"
                       android:left="1px"
                       android:right="1px"
                       android:top="1px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#10916f" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="1px"
                       android:left="1px"
                       android:right="1px"
                       android:top="1px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#0dba8f" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="1px"
                       android:left="1px"
                       android:right="1px"
                       android:top="1px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#05e8b3" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="1px"
                       android:left="1px"
                       android:right="1px"
                       android:top="1px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#00ffc8" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="1px"
                       android:left="1px"
                       android:right="1px"
                       android:top="1px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#05e8b3" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="1px"
                       android:left="1px"
                       android:right="1px"
                       android:top="1px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#0dba8f" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="1px"
                       android:left="1px"
                       android:right="1px"
                       android:top="1px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#10916f" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="1px"
                       android:left="1px"
                       android:right="1px"
                       android:top="1px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#0f7556" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="1px"
                       android:left="1px"
                       android:right="1px"
                       android:top="1px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#0d4f38" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="1px"
                       android:left="1px"
                       android:right="1px"
                       android:top="1px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#0d4f39" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="2px"
                       android:left="2px"
                       android:right="2px"
                       android:top="2px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#051a14" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="2px"
                       android:left="2px"
                       android:right="2px"
                       android:top="2px" />
               </shape>
           </item>
           <item>
               <shape android:shape="rectangle">
                   <solid android:color="#030f0b" />
                   <corners android:radius="4dp" />
                   <padding
                       android:bottom="3px"
                       android:left="3px"
                       android:right="3px"
                       android:top="3px" />
               </shape>
           </item>
       </layer-list>
   </item>
   <item>
       <shape android:shape="rectangle">
           <solid android:color="@android:color/transparent" />
           <corners android:radius="4dp" />
           <padding
               android:bottom="15dp"
               android:left="15dp"
               android:right="15dp"
               android:top="15dp" />
       </shape>
   </item>
</layer-list>

我应该提到它在另一台计算机上看起来不错。

【问题讨论】:

  • 你能说得清楚一点吗?我不明白背景按钮的用途是什么?
  • @moumenShobakey 只是改变按钮的背景,就像有时你将背景设置为图像一样。
  • android:background="@drawable/button_border" 将 ":" 更改为 "=" !

标签: android xml android-studio


【解决方案1】:

如果您想保持一般样式(圆角等)并只更改背景颜色,那么我使用 backgroundTint 属性

android:backgroundTint="@drawable/button_border"

【讨论】:

  • 我试过了,但这只是将背景更改为纯黑色。
  • @MeowSpaceCat 请添加您的按钮xml,以便我们看看那里是否有问题。
  • 我做了,你可以在图片中看到背景适用于微调器(看起来像霓虹灯边框)。
  • @MeowSpaceCat 意义不大,能否请您添加按钮的 xml?
  • 我将它添加到问题中。
【解决方案2】:

可能是您的 Drawable 文件夹中的 button_border 设置不正确,或者您的 java 文件中您没有正确调用/设置微调器。

您的 button_border 示例可能是:

<item>
    <shape>
        <solid
            android:color="@android:color/white">
        </solid>

        <corners android:radius="3dp" />

        <padding
            android:bottom="10dp"
            android:left="10dp"
            android:right="10dp"
            android:top="10dp" />
        <stroke
            android:width="2dp"
            android:color="@android:color/green"/>
    </shape>
</item>

【讨论】:

  • 问题是,它确实可以在另一台具有与 android studio 相同设置的计算机上运行。
【解决方案3】:

你需要使用app:backgroundTint="@null"并保持android:background

<Button
    android:text="Back to main page"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="@android:color/white"
    android:background:"@drawable/button_border"
    android:id="@+id/btnGoBack"
    app:backgroundTint="@null
    />

【讨论】:

    猜你喜欢
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多