1.LinearLayout http://www.cnblogs.com/salam/archive/2010/10/20/1856793.html

 LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个widget或者是container,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子控件的高度加上边框高度)。LinearLayout保持其所包含的widget或者是container之间的间隔以及互相对齐(相对一个控件的右对齐、中间对齐或者左对齐)。

2.居中

  1. <LinearLayout
  2. android:layout_width="fill_parent"
  3. android:layout_height="fill_parent"
  4. android:gravity="center|center_horizontal|center_vertical" >
  5. // 上面gravity属性的参数:center为居中,center_horizontal为水平居中,center_vertical为垂直居中
  6. <Button
  7. android:id="@+id/Binding_button"
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content"
  10. android:text="关联新账户" />
  11. </LinearLayout>

-------------------

  1. <RelativeLayout xmlns:Android="http://schemas.android.com/apk/res/android"
  2. Android:layout_width="fill_parent" Android:layout_height="fill_parent">
  3. <Button Android:id="@+id/btngal" Android:layout_width="wrap_content"
  4. Android:layout_height="wrap_content" Android:gravity="center_horizontal"
  5. Android:textSize="20sp" Android:layout_alignParentBottom="true"
  6. Android:layout_centerHorizontal="true" Android:text="返回主界面" />
  7. </RelativeLayout>

3.alphaAnimation

AlphaAnimation 透明度动画效果 
ScaleAnimation 缩放动画效果 
TranslateAnimation 位移动画效果 
RotateAnimation 旋转动画效果

Animation也可以放在XML文件中,这样程序的可维护性提高了。在XML中写动画的步骤如下

1.在res文件夹下面新建一个名为anim的文件夹

2.创建xml文件,并首先加入set标签,改标签如下

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator">
  
</set>

3.在该标签当中加入rotate,alpha,scale或者translate标签

4.在代码当中使用AnimationUtils加载xml文件,并生成Animation对象

Alpha动画

  1. <span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
  2. <set xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:interpolator="@android:anim/accelerate_interpolator">
  4. <alpha
  5. android:fromAlpha="1.0"
  6. android:toAlpha="0.0"
  7. android:startOffset="500"
  8. android:duration="2000"
  9. />
  10. </set></span>

Animation a=AnimationUtils.loadAnimation(this, R.anim.alpha);
iv.startAnimation(a);

http://blog.csdn.net/zhy_cheng/article/details/7951092

 下面将对上述代码,做详细的解释,listView在开始绘制的时候,系统首先调用getCount()函数,根据他的返回值得到listView的长度(这也是为什么在开始的第一张图特别的标出列表长度),然后根据这个长度,调用getView()逐一绘制每一行。如果你的getCount()返回值是0的话,列表将不显示同样return 1,就只显示一行。

  系统显示列表时,首先实例化一个适配器(这里将实例化自定义的适配器)。当手动完成适配时,必须手动映射数据,这需要重写getView()方法。系统在绘制列表的每一行的时候将调用此方法。getView()有三个参数,position表示将显示的是第几行,covertView是从布局文件中inflate来的布局。我们用LayoutInflater的方法将定义好的vlist2.xml文件提取成View实例用来显示。然后将xml文件中的各个组件实例化(简单的findViewById()方法)。这样便可以将数据对应到各个组件上了。但是按钮为了响应点击事件,需要为它添加点击监听器,这样就能捕获点击事件。至此一个自定义的listView就完成了,现在让我们回过头从新审视这个过程。系统要绘制ListView了,他首先获得要绘制的这个列表的长度,然后开始绘制第一行,怎么绘制呢?调用getView()函数。在这个函数里面首先获得一个View(实际上是一个ViewGroup),然后再实例并设置各个组件,显示之。好了,绘制完这一行了。那 再绘制下一行,直到绘完为止。在实际的运行过程中会发现listView的每一行没有焦点了,这是因为Button抢夺了listView的焦点,只要布局文件中将Button设置为没有焦点就OK了。

 在写listView 时候要重写BaseAdapter

  需要在没个item都加上button 点击button做相应操作

  这个时候需要button里面设置下这行的属性

 button.setTag(item.user.name);

  然后处理button事件。

  这个东西在一些需要用到Adapter自定控件显示方式的时候非常有用

  Adapter 有个getView方法,可以使用setTag把查找的view缓存起来方便多次重用

最新文章

  1. DLL编程学习
  2. c#网络通信框架networkcomms内核解析之九 自定义处理方法的运行机制
  3. SAM4E单片机之旅——20、DMAC之使用Multi-buffer进行内存拷贝
  4. 添加Pods后,import无提示的解决办法
  5. android 开源项目学习
  6. y combinator 做的一个调查_可以学习一下
  7. &lt;php&gt;PDO链接方法
  8. [转]jQuery插件开发精品教程,让你的jQuery提升一个台阶
  9. 数据结构&mdash;&mdash;左高树
  10. 【iOS知识学习】_UITableView简介
  11. ecshop3.6商品如何按照销量排序
  12. JVM虚拟机(一) 内存区域
  13. thymeleaf-迭代
  14. 【Swift 3.0】iOS 国际化切换语言
  15. Docker镜像构建
  16. Sitecore开发 IP地理定位服务入门
  17. Cortex-M3的一些概念
  18. 学习windows编程 day3 之窗口绘画二:边框绘制函数
  19. Linux:DNS服务器搭建及配置
  20. 【网络编程三】网络通信之多进程(线程)实现TCP通信(一)

热门文章

  1. _bzoj1029 [JSOI2007]建筑抢修【贪心 堆】
  2. XHTML 1.0 的三种 XML 文档类型 DOCTYPE
  3. javaFx 学习笔记
  4. Suricata的初始化脚本
  5. 百度地图API简单初始化
  6. maven-ali镜像网站setting.xml
  7. 【转】java编程思想第20章的注解例子用到的com.sun.mirror的jar包
  8. 【学习笔记】深入理解js原型和闭包(10)——this
  9. BottomNavigationBar底部导航条用法
  10. ubuntu 下service php5-fpm restart 报错 stop: Unknown instance: 解决