我是Android开发的新手,也是Android主题/定制的新手,看起来是一个广泛的主题......
我正在尝试给我的Switch组件一个特殊的外观和感觉,但我无法实现我想要的东西,avan在互联网上查找了很多资源.
这真让我抓狂!!
在此先感谢您的帮助,Android大师!
我在一个现有的android应用程序(v1)上工作,它是minSdkVersion ="8".
因此,应用程序使用第三方库来获取操作栏(ActionBar Sherlock)和开关(SwitchCompatLibrary):
今天,我们正在制作v2版本,minSdkVersion ="14".
我们的客户还要求我们更改默认的开关外观.
这看起来真的像最新的材料设计开关,但用橙色代替"绿 - 蓝"颜色,就像这里一样.
由于我们现在是minSdk 14,我们可以删除2个库"ActionBarSherlock"和"SwitchCompatLibrary",但这不是一个选项.的确,我们没有时间......
实际上,我尝试在我的项目的gradle文件appcompat-v7中添加依赖项,以便尝试使用带有材质主题的本机开关组件(请参阅此处),但这会因为重复的属性定义而提到错误,并提到了2个库以上.所以我不能用它,我不确定这应该有用......
dependencies {
(...)
compile project(':actionbarsherlock')
compile project(':switchCompatLibrary')
compile files('libs/android-support-v4.jar')
// incompatible avec actionbarsherlock and SwitchCompatLibrary...
// compile "com.android.support:appcompat-v7:22.0.+"
(...)
}
Run Code Online (Sandbox Code Playgroud)
所以这是执行代码.
在我的layout.xml文件中,我使用SwitchCompatLibrary开关:
<de.ankri.views.Switch
android:id="@+id/switchButtonNotification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true" />
Run Code Online (Sandbox Code Playgroud)
在我的themes.xml文件中:
<style name="Theme.Orange" parent="@style/Theme.Sherlock">
...
<!-- Theme switch with SwitchCompatLibrary -->
<item name="switchStyle">@style/switch_light</item>
<item name="textAppearance">@style/TextAppearance</item>
</style>
Run Code Online (Sandbox Code Playgroud)
使用SwitchCompatLibrary本身定义的样式信息
styles.xml:
<resources …Run Code Online (Sandbox Code Playgroud)