调试时,AppCompat主题不适用于Button

时间:2017-04-11 07:29:43

标签: c# android xamarin

最近我改变了我的Xamarin android项目以使用AppCompat主题,现在我想将自定义颜色应用于我的按钮。我遇到的一个奇怪问题是颜色是在设计器中应用的,但是当我调试我的应用程序时,我的按钮总是灰色的,好像我没有应用任何东西。

我在AndroidManifest.XML中定义了我的主题:

  <application android:label="MyApp" 
  android:theme="@style/MyTheme"></application>

我在我的values / styles.xml中的主题

  <style name="MyTheme" parent="MyTheme.Base">
  </style>
  <style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
  <item name="windowNoTitle">true</item>
  <!--We will be using the toolbar so no need to show ActionBar-->
  <item name="windowActionBar">false</item>
  <item name="colorPrimary">#2196F3</item>
  <item name="colorPrimaryDark">#1976D2</item>
  <item name="colorAccent">#005B86</item>
  <item name="colorControlNormal">#005B86</item> 
  </style>

我也试过这段代码:

  <style name="ButtonTheme" parent="MyTheme">
  <item name="android:windowBackground">@android:color/white</item>
  <item name="colorPrimary">@color/primary</item>
  <item name="colorPrimaryDark">@color/primary_dark</item>
  <item name="colorAccent">@color/accent</item>
  <item name="colorButtonNormal">@color/button_normal</item>
  </style>

  <style name="ButtonThemeColored" parent="Widget.AppCompat.Button.Colored">
  <item name="colorButtonNormal">#2196F3</item>
  <item name="android:textColorPrimary">#fff</item>
  </style> 

我尝试将styles.xml作为样式和主题应用于我的按钮,但两者仅适用于Designer,但在真正调试应用程序时却不适用。

我的活动定义如下:

  public class MainActivity : AppCompatActivity

我知道那里有各种各样的例子,但我觉得我已经尝试了一切,没有什么能很好地运作。

更新

My Buttons在设计师中看起来像这样,但在调试中它们是灰色的。请点击它以获得更好的视图。 (抱歉图片不好)

In my designer my buttons look like this

2 个答案:

答案 0 :(得分:0)

首先创建xml文件 - &gt;在名为Colors.xml的值文件夹下

在其中设置颜色 //颜色名称//颜色十六进制值

<color name="bluey_grey">#a5b9c2</color> 

//将背景应用于按钮

<Button
  android:id="@+id/button"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="@color/bluey_grey"/>

希望这个帮助

答案 1 :(得分:0)

我做的就像alexandre评论的那样。

Widget.AppCompat.Button colorButtonNormal shows gray

我使用了最高代表的答案,这对我帮助很大。