定制progrebar-如何让控件在2.x系统里显示holo风格(4.x系统下的控件风格)

定制progrebar,这里以progrebar(small)为例,使之在2.x系统里显示holo风格。

1)找到系统文件styles.xml 和themes.xml。

在目录adt-bundle\sdk\platforms\android-19\data\res\values下找到styles.xml和  themes.xml,用Uedit打开;

2) 在系统的styles.xml中搜索控件名称progrebar,找到

“  <style name="Widget.Holo.ProgressBar.Small" parent="Widget.ProgressBar.Small">

<item name="android:indeterminateDrawable">@android:drawable/progress_small_holo</item>

</style>”,其中@android:drawable/progress_small_holo是属性;

3) 复制progress_small_holo,在adt-bundle\sdk\platforms\android-19\data\res\values\drawable文件夹下搜“progress_small_holo”,

找到对应的xml文件,拷贝到我们自己的项目的res下的drawable文件夹下(这个文件夹要自己建)

注意:如果属性值为?开头,则使用后面字符串在先在themes.xml中搜索,重复步骤3.

xml文件内容如下:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item>

<rotate

android:drawable="@drawable/spinner_16_outer_holo"

android:pivotX="50%"

android:pivotY="50%"

android:fromDegrees="0"

android:toDegrees="1080" />

</item>

<item>

<rotate

android:drawable="@drawable/spinner_16_inner_holo"

android:pivotX="50%"

android:pivotY="50%"

android:fromDegrees="720"

android:toDegrees="0" />

</item>

</layer-list>

4) 修改错误。因为拷贝的progress_small_holo中有张图片spinner_16_outer_holo,需要拷贝到自己的项目中。

adt-bundle-windows-x86-20130917\sdk\platforms\android-18\data\res\drawable-hdpi中搜索图片名称spinner_16_outer_holo,

并将其拷贝到自己的项目中的drawable-hdpi文件夹下;

4) 修改控件属性。拉一个 progrebar(small)控件,设置为在2.x系统下预览 ,在属性中加入

android:indeterminateDrawable="@drawable/progress_small_holo"。

定制progrebar-如何让控件在2.x系统里显示holo风格(4.x系统下的控件风格),布布扣,bubuko.com

时间: 2024-10-12 00:58:09

定制progrebar-如何让控件在2.x系统里显示holo风格(4.x系统下的控件风格)的相关文章

android学习之LayoutInflater的用法,在myAdapter getView()里将多个TextView组件压缩成一个View控件,并在listView里显示

1.在LayoutInflater通常有下面2种初始化的方法,在Active里调用时很容易. 1. LayoutInflater inflater=LayoutInflater.from(context); 2. LayoutInflater inflater = (LayoutInflater)context.getSystemService (Context.LAYOUT_INFLATER_SERVICE); 2.创建myAdapter类时候在getView()方法里使用LayoutInfl

解决QT5.3.1下触控笔无法工作的问题

刚进新公司,据开发人员说存在QT5.3.1下触控笔无法工作,而在QT5.2.1下能正常工作,研究了一下. Steps: 1. 首先当然是看下问题是否真的存在.测试情况: 环境 结果 备注 QT5.2.1, win 8.1 32bit, mingw 触控笔正常工作 QT5.3.1, win 8.1 32bit, mingw 触控笔无法工作 用手指可以正常触控 2. 目前的情况来看应该是QT发布QT5.3.x时引入的新BUG,决定到QT-PROJECT上的BUGREPORTS搜下是否已经有此BUG,

[Android Pro] android控件ListView顶部或者底部也显示分割线

reference to  :  http://blog.csdn.net/lovexieyuan520/article/details/50846569 在默认的Android控件ListView在顶部是不显示分割线的,但是我们可以使用一些技巧来显示.我们先来看下默认情况下ListView显示的效果: 可以看到顶部是没有分割线的,但是有时候我们的美工硬是在上面画了一条分割线,没办法,我们也得加上,我们在ListView顶部加上一个Header就可以实现,代码如下 listView.addHea

[C#]Winform下回车或Tab键自动切换下一个控件焦点

满足用户体验,在数据录入时,能在输入完一个信息后通过回车或Tab键自动的切换到下一个控件(字段). 在界面控件设计时,默认可以通过设置控件的TabIndex来实现.但在布局调整时或者是对输入的内容有选择性时,从用代码的方式来处理显得更好维护一点. 完整的实现方法如下: /// <summary> /// 回车.Tab键盘切换或执行操作 /// </summary> public sealed class TabEnter:IDisposable { private List<

使用谷歌提供的SwipeRefreshLayout下拉控件,并自定义实现下拉加载的功能

package com.loaderman.swiperefreshdemo; import android.os.Bundle; import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.AppCompatActivity; import android.view.Gravity; import android.view.View;

VB6.0中,日期、时间控件不允许为空时,采用文本框与日期、时间控件相互替换赋值(解决方案)

VB6.0中,日期.时间控件不允许为空时,采用文本框与日期.时间控件相互替换赋值,或许是一个不错的选择. 实现效果如下图: 代码如下: 文本框txtStopTime1 时间框DTStopTime1 格式3 - dtpCustom  HH:mm:ss Private Sub Form_Load()       txtStopTime1.ZOrder       DTStopTime1.Top = txtStopTime1.Top       DTStopTime1.Left = txtStopTi

DevExpress控件GridView挂下拉控件无法对上值

下拉控件使用RepositoryItemLookUpEdit,加入如下事件进行处理. repositoryItemLookUpEdit1.CustomDisplayText += new DevExpress.XtraEditors.Controls.CustomDisplayTextEventHandler(repositoryItemLookUpEdit1_CustomDisplayText);

本示例主要展示如何在XtraGrid网格控件(包含在DevExpress WinForms套包中)的主视图中指定HyperLinkEdit控件作为列编辑器

首先,我们需要创建一个相应的repository item,并将其添加到EditorContainer.RepositoryItems属性所指定的repository items的内部集合中.然后,利用GridColumn.ColumnEdit属性,将repository item分配到列. C# 1 RepositoryItemHyperLinkEdit repHyperLink = new RepositoryItemHyperLinkEdit(); 2 gridControl1.Repos

Delphi下使用Oracle Access控件组下TOraSession控件链接

Delphi下使用Oracle Access控件组下TOraSession控件链接数据库,使用  orsn1.Options.Direct:=true;  orsn1.Server:=IP:Port:SID;  orsn1.Username:=UserName;  orsn1.Password:=PassWord;  orsn1.Connect; 即可链接成功,这是使用SID方式链接的.但如果登陆数据库使用服务名方式,程序死活链接不上,原因,说是因为Delphi ODAC与Oracle RACD