Android appcompat按钮样式不起作用 [英] Android appcompat button style not working

查看:84
本文介绍了Android appcompat按钮样式不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我申请的基本主题:

This is my base theme for application:

  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorSecondaryLight</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:buttonStyle">@style/NormalButtonStyle</item>
    <item name="buttonStyle">@style/NormalButtonStyle</item>
  </style>

这是NormalButtonStyle:

And this is NormalButtonStyle:

  <style name="NormalButtonStyle" parent="@style/Widget.AppCompat.Button">
    <item name="android:textColor">@android:color/white</item>
    <item name="fontPath">fonts/TitilliumWeb-SemiBold</item>
    <item name="android:backgroundTint">@color/colorAccent</item>
    <item name="android:colorButtonNormal">@color/progressBar</item>
    <item name="android:textAllCaps">true</item>
    <item name="android:colorControlHighlight">@color/colorSecondaryLight</item>
    <item name="colorControlHighlight">@color/colorSecondaryLight</item>
  </style>

此处fontPath是书法库的属性.但这对我不起作用.

Here fontPath is attribute of Calligraphy library. But it is not working for me.

这是AppCompatButton代码之一:

This is one of the AppCompatButton Code:

<android.support.v7.widget.AppCompatButton
    android:id="@+id/btnLoginSignIn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:text="@string/txt_sign_in"
    android:layout_below="@id/tilLoginPassword"
    android:layout_marginTop="@dimen/dimen_top_margin_normal"
    android:layout_alignStart="@id/tilLoginPassword"
    android:layout_alignEnd="@id/tilLoginPassword"/>

我在做什么错了?

Android Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.astound.farmroster">

  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

  <application
      android:name=".app.MyApplication"
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
    <activity
        android:name=".activity.Splash"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.NoActionBarFullScreen"
        android:windowSoftInputMode="adjustResize|stateHidden">
    </activity>
    <activity
        android:name=".activity.Login"
        android:label="@string/txt_sign_in"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustResize|stateHidden">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>

        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>
    <activity
        android:name=".activity.Dashboard"
        android:label="@string/title_activity_dashboard"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.NoActionBar"
        android:windowSoftInputMode="adjustResize|stateHidden">
    </activity>
    <activity
        android:name=".activity.JobList"
        android:label="@string/title_activity_job_list"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.NoActionBar"
        android:windowSoftInputMode="adjustResize|stateHidden">
    </activity>
    <activity
        android:name=".activity.JobDetail"
        android:label="@string/title_activity_job_detail"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.NoActionBar"
        android:windowSoftInputMode="adjustResize|stateHidden">
    </activity>
  </application>

</manifest>

推荐答案

使用带有扩展名的完整文件路径:

Use the Full file path with Extension:

代替:

<item name="fontPath">fonts/TitilliumWeb-SemiBold</item>

使用:

<item name="fontPath">fonts/TitilliumWeb-SemiBold.ttf</item>

关于第二个问题:两者都是正确的.

Regarding your Second Question: Both are Right.

<item name="android:colorControlHighlight">@color/colorSecondaryLi‌​ght</item>
<item name="colorControlHighlight">@color/colorSecondaryLight</ite‌​m>

用法示例

theme.xml:

<item name="colorControlHighlight">@color/button_color</item>

v21/theme.xml

<item name="android:colorControlHighlight">@color/button_color</item>

更多帮助,请参见答案

这篇关于Android appcompat按钮样式不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆