0

我有主题文件来应用我的所有按钮。以下编码在我的主题文件中。

    <style name="CustomButton" parent="@android:style/Widget.Holo.Light.Button">
        <item name="android:textSize">14sp</item>
        <item name="android:layout_width">72dp</item>
        <item name="android:layout_height">32dp</item>
        <item name="android:background">@drawable/button_selector</item>
    </style>
   <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:buttonStyle">@style/CustomButton</item>
   </style>

在@drawable/button_selector

<selector>
    <item android:drawable="@drawable/btn_bg">
        <shape>
            <size android:width="72dip" android:height="32dip"/>
            <stroke
                android:width="1dp"
                android:color="#992f2f" />
            <corners
                android:radius="3dp" />
        </shape>
    </item>
</selector>

在我的布局文件中

<Button android:id="@+id/savebtn" 
       android:layout_width="wrap_content" android:layout_marginRight="15dip"
       android:layout_height="wrap_content"
       android:text="Save"/>

我的问题是按钮的宽度和高度没有改变。当我直接在 savebtn 中设置 layout_with(72dp) 和 layout_height(32dp) 时,它可以工作。我已经在应用程序标签中定义了主题文件。我不想像那样设置我的所有按钮。我想知道任何建议或想法?

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myproject"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="15" />

    <application 
        android:label="@string/app_name"
        android:theme="@style/MyTheme">
        <activity
            android:name=".activity.setting.SettingActivity"
            android:label="@string/menu_settings" >
        </activity>
     <activity
            android:name=".activity.setting.AboutActivity"
            android:label="@string/app_name" >
         </activity>    
        <activity
            android:name=".activity.DetailsActivity"
            android:label="@string/app_name" >
           <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
       </activity>      

    </application>

</manifest>
4

1 回答 1

0

我准确地测试了你的代码并且它有效。

您是否在 AndroidManifest.xml 中添加了以下内容?

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/MyTheme" >

如果仍然不起作用,请发布您的清单!

另请注意,如果您在活动上设置另一个主题,它将覆盖应用程序主题!

于 2013-05-28T12:05:27.777 回答