0

这是我的应用程序基本主题:的Android程序兼容性按钮样式不工作

<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:

<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> 

这里字体路径是Calligraphy库的属性。但它不适合我。

这是AppCompatButton守则之一:

<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> 
+0

你能AndroidManifest.xml中添加到您的文章? – fisher3421

+0

嘿@ fisher3421我做了 –

+1

尝试使用文件扩展名...' fonts/TitilliumWeb-SemiBold.ttf' – rafsanahmad007

回答

2

使用带有加长完整的文件路径:代替

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

使用:

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

关于你的第二个问题:两者都是对的。

<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> 

如需更多帮助,请参阅本Answer

0

在你的风格像添加完整的文件名以 “字体路径” 属性:

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