2015-05-29 95 views
0

我試圖從我的應用程序中的Android設置應用程序使用SwitchBar,但將它添加到我的活動並添加所需的所有部分以使其編譯後,我得到此編譯錯誤:Error inflating class com.android.settings.widget.SwitchBar如何在我的應用程序中添加一個SwitchBar?

這裏是我做出什麼變化它來編譯:

將此添加到我的attrs.xml

<attr name="switchBarTheme" format="reference" /> 
<attr name="switchBarMarginStart" format="dimension" /> 
<attr name="switchBarMarginEnd" format="dimension" /> 

將此添加到我的dimens.xml

添加了此我的styles.xml

<style name="switchBarTheme" parent="@android:style/Theme.Material"> 
    <item name="switchBarMarginStart">@dimen/switchbar_margin_start</item> 
    <item name="switchBarMarginEnd">@dimen/switchbar_margin_end</item> 
</style> 

將此添加到我的Activity.xml

<com.android.settings.widget.SwitchBar 
    android:id="@+id/switch_bar" 
    android:layout_height="?android:attr/actionBarSize" 
    android:layout_width="match_parent" 
    android:background="@drawable/switchbar_background" 
    android:theme="?attr/switchBarTheme" 
    /> 

如果這不是添加SwitchBar的一個好辦法,我怎麼能準確地複製SwitchBar在我的應用程序?

回答

0

您的屬性已經在設置中定義在SwitchBar.java中。這個文件涉及到marginend和其他特性。還有switch_bar id。請檢查這個java文件,稍後您可以在此文件中使用鍵和屬性,或者您可以定義不同的名稱從那裏。

相關問題