您的位置:首页 > 产品设计 > UI/UE

AndroidUI组件4- ProgressBar、SeekBar、ImageView、TabHost

2011-12-15 20:47 316 查看
1. 进度条组件ProgressBar

通常用于向用户显示某个耗时操作完成的百分比。可以动态的显示进度,从而达到用户界面的友好性。

通过style属性可以为progressBar指定风格。



XML属性与说明

ProgressBar有两种方法来操作进度:
setProgress(int):设置进度的完成的百分比。
incrementProgressBy(int ):设置进度条的增加与减少。当参数为正的时候为进度增加,负的时候为进度减少
ProgressBar的使用
试图:



XML文件:



</LinearLayout>
public class proessDemo extendsActivity {
ProgressBar bar = null;
int i = 0;
int barmax= 0;
Handler handler = newHandler();
public voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.progressbar);
findViews();
}
private voidfindViews() {
bar =(ProgressBar) this.findViewById(R.id.bar2);
bar.setMax(1000);
barmax = bar.getMax();
newThread(new Runnable() {
publicvoid run() {
while(i < barmax) {
i =dowork();
handler.post(newRunnable() {
publicvoid run() {
bar.setProgress(i);
}
});
try{
Thread.sleep(50);
} catch(InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}
public intdowork() {
return i+= 1;
}

2. 拖动条组件SeekBar

拖动条和进度条很相似,知识进度是通过颜色填充来显示进度完成的程度,而拖动条是则通过滑块的位置来识别标识。



Xml:

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

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="seekbar演示"

/>

<SeekBar

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:max="1000"

android:id="@+id/seekbar"

/>

</LinearLayout>

public class SeekbarDemo extendsActivity
implements
OnSeekBarChangeListener {

SeekBarseekbar = null;

protectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.setContentView(R.layout.seekbar);

findViews();

}

privatevoid findViews() {

seekbar= (SeekBar) this.findViewById(R.id.seekbar);

seekbar.setOnSeekBarChangeListener(this);

}

publicvoid onProgressChanged(SeekBar seekBar, int progress,

booleanfromUser) {

}

publicvoid onStartTrackingTouch(SeekBar seekBar) {

Log.d("TAG",String.valueOf(seekbar.getProgress()));

}

publicvoid onStopTrackingTouch(SeekBar seekBar) {

Log.d("TAG",String.valueOf(seekbar.getProgress()));

}

}

3. 显示图像组件ImageView

ImageView是继承View的组件,主要功能是显示图片,并且任何的Drawable对象都可以使用ImageView来显示。
ImageView支持的XML属性和相关方法。



4. 标签组件 TabHost

TabHost组件,可以方便的放置多个标签页,每个标签页相当于获得了一个与外部容器相同大小的组件,通过这种方式就可以在一个容器里放置更多组件。
TabHost仅仅是一个简单的容器,可以通过一下两种方法来创建选项卡,添加选项卡。
1. newTabSpec(String tag):创建

2. addTab(TabHost.TabSpectabSpec);添加选项卡;

使用TabHost的一般步骤为:

)1、在界面布局中定义TabHost组件,并为该组件定义该选项卡的内容,

)2、Activity应该继承TabActivity.

)3、调用TabActivity的getTabHost方法获取Tabhost对象。

)4、通过TabHost对象的方法来创建选项卡,添加选项卡;



public class Tab1 extendsTabActivity {
TabHost tabHost= null;
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tabHost = this.getTabHost();
LayoutInflaterinflater = LayoutInflater.from(this);
inflater.inflate(R.layout.tab1,tabHost.getTabContentView(),
true);

tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("拨号").setContent(R.id.tab1));
tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("通讯录").setContent(new Intent(this, Tab2.class)));
tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("收藏").setContent(new Intent(this, Tab3.class)));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐