大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > Android技巧 > Android开发学习之 定制界面风格

Android开发学习之 定制界面风格(2)

关键词:界面风格Android  阅读(1047) 赞(15)

[摘要]本文是对Android开发学习之 定制界面风格的讲解,对学习Android编程技术有所帮助,与大家分享。

在attrs.xml里面定义完成了,在styles.xml也添加了,现在你去编译应该不会有什么错误了。问题是,怎么让TestView知道这些信息。这两个条目是我们自己定义的,所以我们也得自己去添加一些代码让TestView了解到这些信息。以下的示例五,展示了怎么从资源总找到我们添加进去的两个条目的值。

view plaincopy to clipboardprint?

public TestView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

TypedArray a =

context.obtainStyledAttributes(

attrs, R.styleable.TestView, defStyle, 0);

int n = a.getIndexCount();

for (int i = 0; i < n; i++) {

int attr = a.getIndex(i);

switch (attr) {

case R.styleable.TestView_circleColor:

mCircleColor = a.getColor(attr, Color.RED);

break;

case R.styleable.TestView_circleRadius:

mCircleRadius = a.getFloat(attr, 40f);

break;

}

}

}

示例五

TestView获取到圆圈的颜色和半径信息后,就可以用这些信息去画开发者想要的圆圈了。关于如何画这个带颜色的圆圈,不是我们这里要描述的内容,请参看附件代码。

(三)设置默认风格

在第一部份讲到,如果开发者想要应用你所定制的风格给你定制的TestView,开发者用style=”@style/Widget.TestView”这种方式。如果开发者在他的应用里就用了一次TestView,我想这也没什么大不了的。但是如果开发者用到TestView的地方很多,这种方式就有点麻烦了,万一有时候还要修改这个风格,那就更糟糕了。下面是一个简单的方法,就是把你所定制的风格放到一个你自己定制的主题中去。关于创建一个主题,在OPhone的文档里面已经有了。细心的读者可能发现在示例四中,除了圆圈信息还有另外一个条目(testViewStyle),它的作用就是用在这里。在开发这定制的主题中,把这个条目的值设置为我们定制的风格(示例六),还记得风格的名字叫:Widget.TestView吧?现在我们所定制的风格就是对这个TestView的默认风格了。

view plaincopy to clipboardprint?

<resources>

<style name=”Theme.OMS” parent=”android:Theme”>

<item name=”testViewStyle”>@style/Widget.TestView</item>

</style>

</resources>

示例六

然后就是应用所定制的主题到设计的应用,简单的一点的方式就是在AndroidManifest.xml中添加语句android:theme=”@style/Theme.OMS”>。现在你就可以看到你所定制的风格的效果了。赶紧去编译运行一下。

本文首先描述了如何简单的定制风格,这种简单定制可以满足一部分要求,但是不能深度定制。如果要深度定制,就必须要开发者自己定义条目,并解析条目。最后介绍如何使用户定制的风格成为某个View的默认风格。

«上一页12下一页»


相关评论