- 浏览: 433195 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
springaop_springmvc:
apache lucene开源框架demo使用实例教程源代码下 ...
Java搜索工具——Lucene实例总结(一) -
chengang292214:
总结的不错
Web开发中的路径问题 -
liuyuanhui0301:
aka~
Java 归并排序(基于数组) -
IT人_:
不错
远程连接MySQL,防火墙阻止访问,解决办法 -
zhuchao_ko:
借鉴。
JNDI访问LDAP
1. TextView
* 用来显示文本的标签,类似SWT中的Label。在layout的main.xml布局文件中添加TextView组件
<TextView android:id="@+id/myTextView02" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" />
* 在Java代码中得到该Textview
TextView myTextView = (TextView) findViewById(R.id.myTextView02); myTextView.setText(String.valueOf(result));
2. EditText
* 在布局文件中添加EditText组件
<EditText android:id="@+id/factorOne" android:layout_width="fill_parent" android:layout_height="wrap_content" />
* 在Java代码中操作该组件
EditText factorOne = (EditText) findViewById(R.id.factorOne); String factorOneStr = factorOne.getText().toString();
3. Button
* 在布局文件中添加Button组件
<Button android:id="@+id/calcaulate" android:layout_width="fill_parent" android:layout_height="wrap_content" />
* 在Java代码中操作该组件
Button calculate = (Button) findViewById(R.id.calcaulate); calculate.setText(R.string.calculate); //设置监听器。 listener利用了Observer的设计模式 calculate.setOnClickListener(new CalculateListener()); 。。。。 // 内部类可以使用外部类的成员变量和函数 // 内部类的学习 class CalculateListener implements OnClickListener { public void onClick(View v) { /* * 乘法 1.取两个EditText控件的值 2.将这两个值放到intent对象中 * 3.使用这个Intent对象启动Activity02 */ String factorOneStr = factorOne.getText().toString(); String factorTwoStr = factorTwo.getText().toString(); Intent intent = new Intent(); intent.putExtra("one", factorOneStr); intent.putExtra("two", factorTwoStr); intent.setClass(Activity01.this, Activity02.class); Activity01.this.startActivity(intent); } }
4. Menu
* Menu控件不需要配置到布局文件中,当点击menu按钮时,会调用onCreateOptionsMenu(Menu menu)方法;
- 调用系统提供的菜单项
@Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 1, 1, R.string.exit);//添加菜单项 menu.add(0, 2, 2, R.string.about); return super.onCreateOptionsMenu(menu); }
- 自定义菜单按钮控件,当点击菜单项中的按钮时,会调用onOptionsItemSelected(MenuItem item)
@Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, UPDATE, 1, R.string.mp3list_update); menu.add(0, ABOUT, 2, R.string.mp3list_about); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == UPDATE) { updateListView();//自定义操作方法 } else if (item.getItemId() == ABOUT) { // 用户点击了关于按钮 } return super.onOptionsItemSelected(item); }
5. 单选按钮和复选框 (代码见Activity_07)
* 单选按钮
- 单选按钮控件(RadioButton)需要显示在单选按钮组中(RadioGroup),布局文件声明如下
<RadioGroup android:id="@+id/genderGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <RadioButton android:id="@+id/femaleButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/female" /> <RadioButton android:id="@+id/maleButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/male" /> </RadioGroup>
- 在java中操作,添加单选按钮事件监听
RadioGroup genderGroup = (RadioGroup)findViewById(R.id.genderGroup); RadioButton femaleButton = (RadioButton)findViewById(R.id.femaleButton); RadioButton maleButton = (RadioButton)findViewById(R.id.maleButton); //为RadioGroup设置监听器,需要注意的是,这里的监听器和Button控件的监听器有所不同 genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub if(femaleButton.getId() == checkedId){ System.out.println("female"); Toast.makeText(RadioTest.this, "famle", Toast.LENGTH_SHORT).show(); } else if(maleButton.getId() == checkedId) { System.out.println("male"); Toast.makeText(RadioTest.this, "male", Toast.LENGTH_LONG).show(); } } });
* 复选框
- 布局文件如下
<CheckBox android:id="@+id/swim" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/swim" /> <CheckBox android:id="@+id/run" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/run" /> <CheckBox android:id="@+id/read" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/read" />
- java中操作,添加事件监听
CheckBox swimBox = (CheckBox)findViewById(R.id.swim); //为多选按钮添加监听器 swimBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub if(isChecked) { System.out.println("swim is checked"); } else { System.out.println("swim is unchecked"); } } });
* 显示效果
6. Toast
* 用来显示提示信息,通常显示在屏幕底部,使用非常简单
Toast.makeText(RadioTest.this, "famle", Toast.LENGTH_SHORT).show();
7. 进度条 (代码见progressbar)
* 水平进度条
- 布局文件中配置
<!-- style="?android:attr/progressBarStyleHorizontal" 进度条水平展示 进度条默认最大值为100--> <ProgressBar android:id="@+id/firstBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="200px" android:layout_height="wrap_content" android:visibility="gone" android:max="200" />
- java代码中操作进度条
ProgressBar firstBar = (ProgressBar) findViewById(R.id.firstBar); Button myButton = (Button) findViewById(R.id.myButton); class ButtonListener implements OnClickListener { @Override public void onClick(View v) { if (i == 0) { //设置进度条处于可见状态 firstBar.setVisibility(View.VISIBLE); firstBar.setMax(150);//设置进度条的最大值 方法二 secondBar.setVisibility(View.VISIBLE); } else if (i < firstBar.getMax()) { //设置水平进度条的当前值 firstBar.setProgress(i); firstBar.setSecondaryProgress(i + 10); //默认的进度条,不显示进度状态,因此,下面语句无意义 secondBar.setProgress(i); } else { //设置进度条处于不可见状态 firstBar.setVisibility(View.GONE); secondBar.setVisibility(View.GONE); } i += 10; } }
* Android默认进度条 转圈显示
- 布局文件中配置
<!-- style="?android:attr/progressBarStyle 转圈显示 --> <ProgressBar android:id="@+id/secondBar" style="?android:attr/progressBarStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" />
* 显示效果
8. 列表ListView (代码见progressbar)
* 布局文件中配置
<LinearLayout android:id="@+id/listLinearLayout" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ListView android:id="@id/android:list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="false" android:scrollbars="vertical"/> </LinearLayout>
* java代码。需要实现ListActivity接口
package mars.progressbar; import java.util.ArrayList; import java.util.HashMap; import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.ListView; import android.widget.SimpleAdapter; public class ListTest extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.list); ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>(); HashMap<String, String> map1 = new HashMap<String, String>(); HashMap<String, String> map2 = new HashMap<String, String>(); HashMap<String, String> map3 = new HashMap<String, String>(); map1.put("user_name", "zhangshan"); map1.put("user_ip", "192.168.1.1"); map2.put("user_name", "lisi"); map2.put("user_ip", "192.168.1.2"); map3.put("user_name", "wangwu"); map3.put("user_ip", "192.168.1.3"); list.add(map1); list.add(map2); list.add(map3); //R.layout.user 布局文件 //new String[] { "user_name", "user_ip" } 指定列名,名字必须与map中的键名一致 //new int[] { R.id.user_name,R.id.user_ip } 对应R.layout.user中的两个TextView SimpleAdapter listAdapter = new SimpleAdapter(this, list, R.layout.user, new String[] { "user_name", "user_ip" }, new int[] { R.id.user_name,R.id.user_ip });//两个数组有顺序限制 setListAdapter(listAdapter);//将 } //为ListView的每一行添加事件监听 @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); System.out.println("id:" + id); System.out.println("position:" + position); } }
* 显示效果
- Activity_07.7z (27.3 KB)
- 下载次数: 6
- progressbar.7z (31.4 KB)
- 下载次数: 4
发表评论
-
Android开发 - Sqlite
2011-07-18 10:58 3576back >> 1.Sqlite的介绍 ... -
Android开发 - Handler的使用
2011-07-15 15:47 2613back >> 1. Handler的作 ... -
Android开发 - 布局
2011-07-14 17:45 1732back >> 1. LinearLay ... -
Android开发 - Activity生命周期
2011-07-14 16:10 8609back >> 1. Activity生 ... -
Android开发 - Activity 初步
2011-07-14 14:27 3164back>> 1. Activity的作 ... -
Android开发 文件下载
2011-07-13 13:24 1546back >> 声明:此代码来源于mars老 ... -
Adroid开发 调试
2011-07-13 13:11 1251back >> 1. 打日志方式调试 ... -
Android学习
2011-07-13 11:38 889四个重要组件:Activity(负责界面),Inten ... -
Android 环境搭建
2011-05-24 09:59 989back >> 1. 安装sdk ...
相关推荐
Android 移动平台开发-常用控件应用 Android 移动平台开发是一门广泛应用于移动设备的操作系统,基于 Linux 内核,提供了丰富的应用程序接口(API)和工具,供开发者创建各种应用程序。本文将详细介绍 Android 移动...
在Android应用开发中,"Launcher"是一个至关重要的组件,它扮演着用户界面和应用程序启动器的角色。`Android--开发--AnderWeb-Android--开发--_packages_apps_Launcher-4458ee4`这个文件名暗示了我们正在探讨的是一...
教程名称: 老罗Android开发视频教程-Android常用UI控件编程【32集】【】Android常用UI控件编程第七集【】Android常用UI控件编程第二十三集【】Android常用UI控件编程第二十九集【】Android常用UI控件编程第二十二...
在Android开发中,创建一个便签应用是一个常见的实践项目,它可以帮助开发者更好地理解和掌握用户界面组件、数据管理以及视图回收机制。本项目中,我们重点探讨了`ListView`和`RecyclerView`这两种常用的列表视图...
1、掌握基本的控件使用,如button、edittext、radiobutton、AlertDialog等。2、精通 线性布局、相对布局、表格布局等的使用,能创建好看的安卓窗口页面3、学习适配器的使 用。 二、实验内容: 模拟 qq登录实现账号...
首先,Android 7.1引入了App Shortcuts,这是一个允许开发者创建快捷方式的功能,用户可以通过长按应用图标快速访问常用功能或信息。这对于提升用户体验和应用的实用性有着显著的帮助,同时也为开发者提供了更多展示...
在Android应用开发中,ListView是常用的视图组件,用于...总之,自定义控件是Android开发中的一个重要技巧,它能帮助我们打造出独具特色的用户体验。记得在编写代码时遵循良好的编程实践,确保代码的可读性和可维护性。
android-commonAndroid常用公共库”正是这样一个集合,它包含了多个实用模块,如ImageCache、HttpCache、DropDownListView、DownloadManager以及Utils,这些都是Android开发者在日常工作中经常需要用到的组件。...
Android开发常用整理(不断扩充中)包含各种工具类、线程池、日志、自定义的控件、程序崩溃捕捉处理、默认的Application配置、常用的Adapter等 注意: > 如果需要使用FragmentTabAdapter,则需要android-support-v4....
在Android开发中,使用"其它控件"通常指的是那些不在Android SDK默认提供的组件之列,但由社区开发并广泛使用的第三方控件。StikkyHeader就是一个这样的例子,它为开发者提供了更多的界面设计可能性,特别是对于需要...
【第一版第八章】老罗Android开发视频-常用UI控件(33集) 【第一版第九章】老罗Android开发视频--存储数据和文件(7集) 【第一版第十章】老罗Android开发视频--对话框介绍(4集) 【第一版第十一章】老罗...
### Android开发——华清远见Android培训课程精要 #### 一、版权与版权声明 本教程由华清远见嵌入式培训中心提供,版权所有。未经官方明确许可,不得以任何形式复制或传播此文档的任何部分。文档中的信息如有更改,...
Android-09-常用UI控件(33集) Android-11-对话框介绍(4集) Android-12-通知的使用(2集) Android-13-菜单的使用(4集) Android-14-LoaderManager异步加载数据库(2集) Android-15-多线程编程(7)
在Android平台上,ListView是一种常用的控件,用于显示大量的列表数据。然而,为了使应用更加生动、交互性更强,开发者通常会引入“拉动刷新”功能,让用户在滚动到列表顶部时能够手动触发新数据的加载。"Android-...
1. 使用Live Templates:Android Studio提供了大量预定义的代码模板,可以通过快捷键快速输入常用代码片段。 2. 常规设置优化:调整代码风格、代码格式化选项、自动保存等设置,以适应个人开发习惯。 3. 依赖管理...
本资源包“android开发常用图片”包含了全面的图片素材,适合Android开发者在构建应用时参考和使用。以下是对这些知识点的详细阐述: 1. **图片格式选择**:Android支持多种图片格式,如PNG、JPEG、GIF等。PNG适用...
首先,MVP架构模式是Android开发中的常用设计模式,它将界面展示(View)、业务逻辑(Presenter)和数据模型(Model)分离,降低了耦合度。在MVP模式中,View负责与用户交互,Presenter作为桥梁处理View的请求并操作...
安卓常用组件 ListViewLoad 说明:这是一个可以显示上拉加载更多的ListView. 实现方法: 创建要上拉后要显示的底部 编写自定义的view类继承ListView AndroidAnnotation 说明:安卓开发懒人框架(官网文档) ...