2013-10-31 7 views
5

लागू नहीं है मेरे पास मेरे मुख्य गतिविधि दृश्य में तीन सरल बटन हैं। जो मैं करने की कोशिश कर रहा हूं वह मेरे सभी बटनों पर एक बटन स्टाइल लागू है लेकिन मैं ऐसा करने में विफल रहता हूं।बटन के लिए एंड्रॉइड थीम शैली

यहाँ मेरी xml है:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/minecraft_portrait" 
    android:alpha="0.75" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 

    <TextView 
     android:id="@+id/txtAppName" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:text="@string/app_name_readable" 
     android:textSize="32sp" 
     android:textColor="@android:color/white" /> 

    <Button 
     android:id="@+id/btnCrafting" 
     android:layout_width="200dp" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:background="@drawable/button_selector" 
     android:onClick="craftingButtonClicked" 
     android:text="@string/crafting" /> 

    <Button 
     android:id="@+id/btnServerCommands" 
     android:layout_width="200dp" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@id/btnCrafting" 
     android:layout_below="@id/btnCrafting" 
     android:layout_marginTop="20dp" 
     android:background="@drawable/button_selector" 
     android:onClick="commandsButtonClicked" 
     android:textColor="@android:color/white" 
     android:text="@string/servercommands" /> 

    <Button 
     android:id="@+id/btnVideos" 
     android:layout_width="200dp" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@id/btnServerCommands" 
     android:layout_below="@id/btnServerCommands" 
     android:layout_marginTop="20dp" 
     android:background="@drawable/button_selector" 
     android:onClick="videosButtonClicked" 
     android:text="@string/videos" /> 

</RelativeLayout> 

और इस रेस से मेरी style.xml है/महत्व देता फ़ोल्डर:

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 

    <style name="AppBaseTheme" parent="android:Theme.Light"> 
    </style> 

    <!-- Application theme. --> 
    <style name="AppTheme" parent="AppBaseTheme"> 
     <item name="android:buttonStyle">@style/ButtonTheme</item> 
    </style> 

    <style name="ButtonTheme" parent="android:Widget.Button"> 
     <item name="android:textColor">@android:color/white</item> 
     <item name="android:background">@android:color/darker_gray</item> 
     <item name="android:typeface">monospace</item> 
     <item name="android:textSize">32sp</item> 
    </style> 
</resources> 

और मैनिफ़ेस्ट फ़ाइल से मेरे विषय परिभाषा:

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

कोई विचार क्यों शैली मेरे बटन पर लागू नहीं हो रही है? मैंने किसी भी अंतर को देखने के लिए सिर्फ एक बटन के टेक्स्ट रंग को सफेद पर सेट किया है।

+0

साथ। – Bracadabra

उत्तर

33

समर्थन पुस्तकालय का उपयोग करते समय बटन शैली के रूप में लागू किया जाना चाहिए: हो सकता है कि आपकी गतिविधि को ओवरराइड करता एप्लिकेशन विषय

<!-- Application theme. --> 
<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="android:buttonStyle">@style/ButtonTheme</item> 
    <item name="buttonStyle">@style/ButtonTheme</item> 
</style> 

नोट दोहराव लेकिन कोई नाम स्थान

+0

धन्यवाद। यह एक स्वीकार्य उत्तर होना चाहिए। –

+0

यह काम किया! कृपया रॉबी, इस उत्तर को स्वीकार करें जो बहुत उपयोगी है। – TechNyquist

+0

समर्थन लाइब्रेरी के साथ, इस कार्य को करने के लिए केवल गैर-नामित आइटम की आवश्यकता होती है। डुप्लिकेशंस – yuval

3

आपके द्वारा पोस्ट किया गया कोड काम कर रहा है। यह देखने के लिए कि क्या यह आपके लिए काम कर रहा है, कृपया xml में बटन पर शैली जोड़ें।

<Button 
    style="@style/ButtonTheme" 

    android:id="@+id/btnCrafting" 
    android:layout_width="200dp" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:background="@drawable/button_selector" 
    android:onClick="craftingButtonClicked" 
    android:text="@string/crafting" /> 
+1

कोई शैली उस तरीके से लागू नहीं हो रही है या तो – DerpyNerd

+1

बटन से एंड्रॉइड निकालें: पृष्ठभूमि = "@ drawable/button_selector" और पुनः प्रयास करें। मुझे यकीन नहीं है कि यह क्यों काम नहीं कर रहा है। और इसे एमुलेटर पर भी आज़माएं। – Dragan

0

शैलियों या मेनिफेस्ट फ़ाइल को बदलते समय प्रोजेक्ट पर "साफ" चलाने का प्रयास करें।

संबंधित मुद्दे