2022年DatePicker小程序及六种布局方式 .pdf

上传人:C****o 文档编号:39708816 上传时间:2022-09-07 格式:PDF 页数:18 大小:1,015.37KB
返回 下载 相关 举报
2022年DatePicker小程序及六种布局方式 .pdf_第1页
第1页 / 共18页
2022年DatePicker小程序及六种布局方式 .pdf_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《2022年DatePicker小程序及六种布局方式 .pdf》由会员分享,可在线阅读,更多相关《2022年DatePicker小程序及六种布局方式 .pdf(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Date Picker 实例程序参考:http:/ the date 后显示二、代码实现分析程序的目录结构:名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 18 页 -1、新建一个Android 项目 HelloDatePicker.2、打开res/layout/main.xml 文件插入下面的两个要遇到的组件需要一个TextView 用于显示当前日期需要一个Button,点击后可以改变当前日期。首先在 main.xml 中加入 TextView 和 Button 部分说明:android:text=用于设置要显示的文本内容,默认为 android:text=Change the

2、 date用于设置按钮上显示的文本3、打开 HelloDatePicker.java 加入一些需要用到的属性private TextView mDateDisplay;private Button mPickDate;privateintmYear;privateintmMonth;privateintmDay;名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 18 页 -staticfinalintDATE_DIALOG_ID=0;4、要在屏幕上显示当前日期,首先应该获取当前的年、月、日属性值:/获取当前的时间final Calendar c=Calendar.getInstan

3、ce();mYear =c.get(Calendar.YEAR);mMonth =c.get(Calendar.MONTH);mDay=c.get(Calendar.DAY_OF_MONTH);5、将当前获取的日期显示出来:/显示当前的日期updateDisplay();/这个方法的实现如下:/显示或更新 TextView中的当前日期的方法privatevoid updateDisplay()mDateDisplay.setText(new StringBuilder()/Month is 0 based so add 1.append(mMonth+1).append(-).append(m

4、Day).append(-).append(mYear).append();注:这里的mDateDisplay是已经在XML文件中定义的组件6、考虑如何修改显示在屏幕上的日期屏幕上有一个改变日期的按钮,点击按钮后会触发事件/为单击按钮增加监听mPickDate.setOnClickListener(new View.OnClickListener()publicvoid onClick(View v)showDialog(DATE_DIALOG_ID););看一下 showDialog(int)这个方法,官方文档中这样说:If you use showDialog(int),the activ

5、ity will call through to this method the first time,这句话中的this method 指的是onCreateDialog(int)这个方法Overrideprotected Dialog onCreateDialog(int id)switch(id)caseDATE_DIALOG_ID:/产生一个 DatePickerDialog 绑定 mDateSetListener监听器returnnew DatePickerDialog(this,mDateSetListener,mYear,mMonth,mDay);returnnull;DateP

6、ickerDialog的构造函数如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 18 页 -DatePickerDialog(Context context,DatePickerDialog.OnDateSetListenercallBack,int year,int monthOfY ear,int dayOfMonth)这样就必须实现一个监听来设置经过修改后的时间。/点击 DatePicker的设置按钮时触发了修改时间的事件的监听器定义privateDatePickerDialog.OnDateSetListener mDateSetListener=new DateP

7、ickerDialog.OnDateSetListener()publicvoidonDateSet(DatePicker view,intyear,intmonthOfYear,int dayOfMonth)mYear =year;mMonth =monthOfYear;mDay=dayOfMonth;updateDisplay();布局介绍程序参考:http:/ 系统下提供了6 中布局分别是:Linear Layout Relative Layout Table Layout Grid View Tab Layout List View说明:以下程序都使用Google APIs API L

8、evel:8 使用的模拟器为使用 Android 版本为:名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 18 页 -一、Linear Layout 这种布局属于线性布局:线性布局的形式可以分为两种,第一种横向线性布局第二种纵向线性布局,这种布局一般和其他的布局方式嵌套使用。示例:通过看这个界面就可以发现,这个线性布局是采取:总体纵向布局,局部先横向再纵向布局的方式。新建一个项目:HelloLinearLayout 程序目录结构如下:XML 实现代码分析如下:1、总体纵向布局设置 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 18 页 -2、局部首先采用横向布局,

9、XML代码设置如下:解释:android:orientation=horizontal 设置布局方式-横向3、设置局部纵向布局,XML 代码如下:解释:android:orientation=vertical 设置布局方式为纵向布局名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 18 页 -二、Relative Layout 相对布局是android 布局中最为强大的,首先它可以设置的属性是最多了,其次它可以做的事情也是最多的。android 手机屏幕的分辨率五花八门所以为了考虑屏幕自适应的情况所以在开发中建议大家都去使用相对布局它的坐标取值范围都是相对的所以使用它来做自适应屏幕

10、是正确的。相对布局的属性设置设置距父元素右对齐android:layout_alignParentRight=true 设置该控件在id 为 re_edit_0 控件的下方android:layout_below=id/re_edit_0 设置该控件在id 为 re_image_0 控件的左边android:layout_toLeftOf=id/re_iamge_0 设置当前控件与id 为 name 控件的上方对齐android:layout_alignTop=id/name 设置偏移的像素值android:layout_marginRight=30dip 示例运行如下:新建一个项目Hello

11、RelativeLayout 程序目录结构如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 18 页 -XML 代码1、全局布局方式设置 2、加入文本和文本框解释:android:layout_below=id/label/文本框位于文本之下,参照id3、加入两个按钮,一个在左边,一个在右边。名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 18 页 -解释:android:layout_below=id/entry 设置位于文本框的下方android:layout_alignParentRight=true 设置与父元素右对齐android:layout_mar

12、ginLeft=80dip 设置偏移的像素值三、Table Layout 程序运行如下:新建一个项目:HelloTableLayout 程序目录结构如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 18 页 -XML 代码1、全局采用Table 布局 2、插入图片3、插入一行 4、插入分隔线 5、插入一行记录信息名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 18 页 -四、Grid View Android 的 GridView控件用于把一系列的空间组织成一个二维的网格显示出来应用的比较多的就是组合图片显示。例子运行如下图所示Grid View 的 XML

13、属性如下:新建项目:HelloGridView 程序目录结构如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 18 页 -布局 XML 文件Main.xml 设置布局为方式为:GridViewXML 文件部分属性解释android:columnWidth=90dp 每一列指定宽度为90dp 改为 180dp后图片显示为:名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 18 页 -android:numColumns=auto_fit 用于设置要展示的列数,这里为根据图片大小自动匹配android:verticalSpacing=10dp 用于设置默认两行之间

14、的间距android:horizontalSpacing=10dp 用于设置默认两列之间的间距android:stretchMode=columnWidth 用于设置缩放android:gravity=center用于设置此组件中的内容在组件中的位置使用 GridView 布局方式publicclass HelloGridView extends Activity /*Called when the activity is first created.*/publicvoid onCreate(Bundle savedInstanceState)super.onCreate(savedInst

15、anceState);setContentView(R.layout.main);GridView gridview=(GridView)findViewById(R.id.gridview);gridview.setAdapter(new ImageAdapter(this);gridview.setOnItemClickListener(new OnItemClickListener()publicvoidonItemClick(AdapterView parent,View v,intposition,long id)Toast.makeText(HelloGridView.this,图

16、片 +position,Toast.LENGTH_SHORT).show(););说明:gridview.setAdapter(new ImageAdapter(this);这里的ImageAdapter 是一个自定义的适配器,用于为grid 提供数据的适配器,它继承了BaseAdapter public void setAdapter(ListAdapter adapter)设置 GridView 的数据。参数adapter 为 grid 提供数据的适配器名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 18 页 -此处省略ImageAdapter 文件介绍,代码参考:http

17、:/ Layout 程序的运行结果如图所示:新建一个项目:HelloTabWidget 程序目录结构如下:1、创建 3 个 Activity.ArtistsActivity,AlbumsActivity,和 SongsActivity.3 个文件内容相似举一个说明:这个 Activity 用作一个单独的Tab,用于展示一个简单的TextView 名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 18 页 -2、将这 3 个 Activity 文件加入到Android Manifest 文件中去3、需要 3 个图标,这里举一个例子说明:首先将需要的图片存放到项目的res/drawa

18、ble/文件夹下,然后创建一个XML 文件 ic_tab_artists.xml 放到 res/drawable/文件夹下。用于设置图片的显示:4、布局设置:采用Tab 布局 5、增加组件上面的布局将会展示定义好的tab,在 Activity 运行的时候,并起到类似导航的作用。6、创建文件:HelloTabWidget 继承自 TabActivity 加入下面的方法publicvoid onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);/详细代码

19、见项目源码 六、List View 参考:http:/ 2、创建一个XML 文件:list_item.xml 存放在 res/layout/目录下名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 18 页 -3、数据定义,这里将数据定义在XML 文件中位于BahrainBangladeshBarbadosBelarusBelgiumBelizeBenin 4、打开 HelloListView.java文件,让该类继承自ListActivity 这里需要一个适配器用来把数据映射到ListView 上的中介还需要数据:具体的将被映射的字符串、图片、或者基本组件。根据列表的适配器类型,

20、列表分为三种,ArrayAdapter,SimpleAdapter 和 SimpleCursorAdapter其中以ArrayAdapter 最为简单,只能展示一行字。SimpleAdapter 有最好的扩充性,可以自定义出各种效果。SimpleCursorAdapter 可以认为是SimpleAdapter 对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。下面使用ArrayAdapter(Context context,int textViewResourceId,List objects)来装配数据Stringcountries=getResources().getStr

21、ingArray(R.array.countries_array);/获取数据setListAdapter(new ArrayAdapter(this,R.layout.list_item,countries);ListView lv=getListView();lv.setTextFilterEnabled(true);要装配这些数据就需要一个连接ListView 视图对象和数组数据的适配器来两者的适配工作,ArrayAdapter 的 构造需要三个参数,依次为this,布局文件(注意这里的布局文件描述的是列表的每一行的布局,R.layout.list_item是系统定义好的布局文件只显示一行文字,数据源(一个 List 集合)。同时用 setAdapter()完成适配的最后工作。5、程序运行结果如下图所示:名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 18 页 -名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 18 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁