Android开发05—Android常用高级控件(下)
1. 滑块与进度条
1) ProgressBar类
ProgressBar类同样位于android.widget包下,但其继承自View,主要用于显示一些操作的进度。应用程序可以修改其长度表示当前后台操作的完成情况。因为进度条会移动,所以长时间加载某些资源或者执行某些耗时的操作时,不会使用户界面失去响应。
2) SeekBar类
SeekBar类继承自ProgressBar,是用来接收用户输入的控件。SeekBar类似于拖拉条,可以直观地显示用户需要的数据,常用于音量调节等场合。
3) 实例:
main.xml
Activity:
TabHost类位于android.widget包下,是选项卡的封装类,用于创建创建选项卡的窗口。TabHost继承自FrameLayout是帧布局的一种。
实例:
main.xml:
Activity:
Gallery是一种水平滚动的列表,一般情况下用来显示图片等资源,可以使图片在屏幕上滑来滑去。Gallery所显示的图片资源同样来自适配器。
Gallery是View的子类,Gallery控件可以在XML中配置,也可以再代码中操作。
实例:将需要显示的控件存放在BaseAdapter中,然后在适当的时间将此BaseAdapter设置Gallery控件使之显示。
main.xml
Activity:
1. 滑块与进度条
1) ProgressBar类
ProgressBar类同样位于android.widget包下,但其继承自View,主要用于显示一些操作的进度。应用程序可以修改其长度表示当前后台操作的完成情况。因为进度条会移动,所以长时间加载某些资源或者执行某些耗时的操作时,不会使用户界面失去响应。
2) SeekBar类
SeekBar类继承自ProgressBar,是用来接收用户输入的控件。SeekBar类似于拖拉条,可以直观地显示用户需要的数据,常用于音量调节等场合。
3) 实例:
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:id="@+id/linearLayout1"> <ProgressBar android:id="@+id/progressBar1" android:layout_height="wrap_content" android:layout_width="fill_parent" android:max="100" android:progress="20" style="@android:style/Widget.ProgressBar.Horizontal"></ProgressBar> <RatingBar android:layout_height="wrap_content" android:layout_width="wrap_content" android:max="5" android:rating="1" android:id="@+id/ratingBar1"></RatingBar> </LinearLayout>
Activity:
package qijia.si; import android.app.Activity; import android.os.Bundle; import android.widget.ProgressBar; import android.widget.RatingBar; public class JavaTest extends Activity { /** Called when the activity is first created. */ final static double MAX = 100; final static double MAX_STAR = 5; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); RatingBar rb = (RatingBar) findViewById(R.id.ratingBar1); rb.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { // TODO Auto-generated method stub ProgressBar pb = (ProgressBar) findViewById(R.id.progressBar1); RatingBar rb = (RatingBar) findViewById(R.id.ratingBar1); float rate = rb.getRating(); pb.setProgress((int)(rate/MAX_STAR*MAX)); } }); } }2. 选项卡
TabHost类位于android.widget包下,是选项卡的封装类,用于创建创建选项卡的窗口。TabHost继承自FrameLayout是帧布局的一种。
实例:
main.xml:
<?xml version="1.0" encoding="utf-8"?> <FrameLayout android:id="@+id/frameLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal" android:orientation="vertical"> <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView1" android:scaleType="fitXY" android:layout_gravity="center" android:src="@drawable/andy"></ImageView> <TextView android:layout_height="wrap_content" android:id="@+id/textView1" android:layout_width="wrap_content" android:text="@string/andy" android:textSize="24dip"></TextView> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal" android:orientation="vertical" android:id="@+id/linearLayout2"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView2" android:scaleType="fitXY" android:layout_gravity="center" android:src="@drawable/bill"></ImageView> <TextView android:layout_height="wrap_content" android:text="@string/bill" android:layout_width="wrap_content" android:id="@+id/textView2" android:textSize="24dip"></TextView> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:orientation="vertical" android:gravity="center_horizontal" android:layout_height="fill_parent" android:id="@+id/linearLayout3"> <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView3" android:scaleType="fitXY" android:layout_gravity="center" android:src="@drawable/torvalds"></ImageView> <TextView android:layout_height="wrap_content" android:text="@string/linus" android:layout_width="wrap_content" android:id="@+id/textView3" android:textSize="24dip"></TextView> </LinearLayout> </FrameLayout>
Activity:
package qijia.si; import android.app.Activity; import android.app.TabActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.widget.ProgressBar; import android.widget.RatingBar; import android.widget.TabHost; public class JavaTest extends TabActivity { /** Called when the activity is first created. */ private TabHost myTabhost; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); myTabhost = this.getTabHost(); LayoutInflater.from(this).inflate(R.layout.main, myTabhost.getTabContentView(),true); myTabhost.addTab(myTabhost.newTabSpec("选项卡1").setIndicator("选项卡1",getResources().getDrawable(R.drawable.png1)).setContent(R.id.linearLayout1)); myTabhost.addTab(myTabhost.newTabSpec("选项卡2").setIndicator("选项卡2",getResources().getDrawable(R.drawable.png2)).setContent(R.id.linearLayout2)); myTabhost.addTab(myTabhost.newTabSpec("选项卡3").setIndicator("选项卡3",getResources().getDrawable(R.drawable.png3)).setContent(R.id.linearLayout3)); } }3. 画廊控件
Gallery是一种水平滚动的列表,一般情况下用来显示图片等资源,可以使图片在屏幕上滑来滑去。Gallery所显示的图片资源同样来自适配器。
Gallery是View的子类,Gallery控件可以在XML中配置,也可以再代码中操作。
实例:将需要显示的控件存放在BaseAdapter中,然后在适当的时间将此BaseAdapter设置Gallery控件使之显示。
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:id="@+id/linearLayout1" android:gravity="center_vertical"> <Gallery android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/gallery1" android:spacing="10dip" android:unselectedAlpha="1"></Gallery> </LinearLayout>
Activity:
package qijia.si; import android.app.Activity; import android.app.TabActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.RatingBar; import android.widget.TabHost; public class JavaTest extends Activity { /** Called when the activity is first created. */ int[] imageIds={ R.drawable.bbta,R.drawable.bbtb,R.drawable.bbtc, R.drawable.bbtd,R.drawable.bbte,R.drawable.bbtf, R.drawable.bbtg }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Gallery g1 = (Gallery)this.findViewById(R.id.gallery1); BaseAdapter ba = new BaseAdapter(){ public int getCount() { // TODO Auto-generated method stub return imageIds.length; } public Object getItem(int position) { // TODO Auto-generated method stub return null; } public long getItemId(int position) { // TODO Auto-generated method stub return 0; } public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ImageView iv = new ImageView(JavaTest.this); iv.setImageResource(imageIds[position]); iv.setScaleType(ImageView.ScaleType.FIT_XY); iv.setLayoutParams(new Gallery.LayoutParams(188,250)); return iv; } }; g1.setAdapter(ba); g1.setOnItemClickListener( new OnItemClickListener(){ public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub Gallery g1 = (Gallery)findViewById(R.id.gallery1); g1.setSelection(arg2); } }); } }
发表评论
-
Android开发06—菜单与对话框(下)
2011-05-16 19:11 1117Android开发06—菜单与对 ... -
Android开发06—菜单与对话框(上)
2011-05-13 20:07 1192Android开发06—菜单与对话框(上) 1. 菜单 1) ... -
Android开发04—Android常用高级控件(上)
2011-05-04 17:38 1847Android开发04—Android常用高级控件(上) 1 ... -
Android的adapter总结和深入研究
2011-05-04 17:35 1823Android的adapter总结和深 ... -
Android开发03—Android常用基本控件(下)
2011-05-02 17:14 947Android开发03—Android常用 ... -
Android开发03—Android常用基本控件(上)
2011-04-30 16:30 1197Android开发03—Android常用基本控件(上) 1 ... -
Android系统开发02—Android布局管理器
2011-04-26 19:36 987Android系统开发02—Android布局管理器 1. ... -
Android系统开发01—Android基本组件
2011-04-26 19:33 935Android系统开发01—Android基本组件 1. 应 ...
相关推荐
4.2 常用控件应用 4.2.1 文本框(Textiew) 4.2.2 列表(ListView) 4.2.3 提示(T0ast) 4.2.4 编辑框(EditText) 4.2.5 单项选择(RadioGroup、RadioButton 4.2.6 多项选择(CheckBox) 4.2.7 下拉列表(Spinner) 4.2.8 自动...
【第一版第八章】老罗Android开发视频-常用UI控件(33集) 【第一版第九章】老罗Android开发视频--存储数据和文件(7集) 【第一版第十章】老罗Android开发视频--对话框介绍(4集) 【第一版第十一章】老罗...
第6章 UI高级控件 83 6.1 列表类控件 83 6.1.1 Adapter概念 83 6.1.2 AutoComplete 84 6.1.3 Spinner 87 6.1.4 ListView 90 6.1.5 GridView 96 6.1.6 Gallery 99 6.2 Toast 103 6.2.1 文本类型 103 6.2.2 ...
《Android核心技术与实例详解》涵盖的主要内容Aridroid开发起步,Android布局管理器,Android常用高级控件,游戏与3D应用程序开发,网络与数据处理,手机特有Feature开发,传感器应用的开发,Android游戏开发实践...
《Android核心技术与实例详解》涵盖的主要内容Aridroid开发起步,Android布局管理器,Android常用高级控件,游戏与3D应用程序开发,网络与数据处理,手机特有Feature开发,传感器应用的开发,Android游戏开发实践...
《Android核心技术与实例详解》涵盖的主要内容Aridroid开发起步,Android布局管理器,Android常用高级控件,游戏与3D应用程序开发,网络与数据处理,手机特有Feature开发,传感器应用的开发,Android游戏开发实践...
《Android核心技术与实例详解》涵盖的主要内容Aridroid开发起步,Android布局管理器,Android常用高级控件,游戏与3D应用程序开发,网络与数据处理,手机特有Feature开发,传感器应用的开发,Android游戏开发实践...
《Android核心技术与实例详解》涵盖的主要内容Aridroid开发起步,Android布局管理器,Android常用高级控件,游戏与3D应用程序开发,网络与数据处理,手机特有Feature开发,传感器应用的开发,Android游戏开发实践...
第5章 Android常用高级控件 第6章 菜单与对话框 高 级 篇 第7章 Android事件处理模型 第8章 游戏与3D应用程序开发 第9章 消息广播与服务 第10章 网络与数据处理 第11章 手机通信功能开发 第12章 手机特有Feature开发...
4.2 常用控件应用 4.2.1 文本框(Textiew) 4.2.2 列表(ListView) 4.2.3 提示(T0ast) 4.2.4 编辑框(EditText) 4.2.5 单项选择(RadioGroup、RadioButton 4.2.6 多项选择(CheckBox) 4.2.7 下拉列表...
最重要的是还全面介绍了如何利用原生的C,C++(NDK)和Python、Lua等脚本语言(AndroidScriptingEnvironment)来开发Android应用,《Android应用开发揭秘》实战性强,书中的每个知识点都有配精心设计的示例,尤为...
4.2 常用控件应用 4.2.1 文本框(Textiew) 4.2.2 列表(ListView) 4.2.3 提示(T0ast) 4.2.4 编辑框(EditText) 4.2.5 单项选择(RadioGroup、RadioButton 4.2.6 多项选择(CheckBox) 4.2.7 下拉列表...
2、Android常用控件的使用 3、Android多线程、网络编程等高级应用 4、Html5及Sqlite数据库前沿知识 无论您是在校大学生,还是职业学员,或者Java开发人员,本书都志在全面提高您的Android编程思想和开发实力,使...
全书分为3篇共18章,第1篇以简单易懂的实例为依托,详细介绍了Android平台的基本控件、高级控件、常用界面布局及菜单对话框等相关知识;第2篇介绍了Andr 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
第2章 Android开发工具新接触 13 2.1 Android开发IDE介绍 14 2.1.1 Android Studio初体验 14 2.1.2 Android Studio配置 15 2.2 Android Studio高级使用技巧 19 2.2.1 更新SDK 20 2.2.2 Android Studio常用界面 21 ...
本书深入浅出,详细讲解了Android开发的知识,主要内容包括:Android的体系架构、Android Studio、项目的创建、Android工程目录、调试程序、界面的搭建;常用的控件和属性、提示信息Toast和Snackbar、点击事件3种...
2、Android常用控件的使用 3、Android多线程、网络编程等高级应用 4、Html5及Sqlite数据库前沿知识 无论您是在校大学生,还是职业学员,或者Java开发人员,本书都志在全面提高您的Android编程思想和开发实力,使...