zoukankan      html  css  js  c++  java
  • Android学习2013年10月11日

    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.   
    3.     Android:layout_width="fill_parent" Android:layout_height="fill_parent">  
    4.     <Button Android:id="@+id/btngal" Android:layout_width="wrap_content"  
    5.   
    6.         Android:layout_height="wrap_content" Android:gravity="center_horizontal"  
    7.   
    8.         Android:textSize="20sp" Android:layout_alignParentBottom="true"  
    9.   
    10.         Android:layout_centerHorizontal="true" Android:text="返回主界面" />  
    11.   </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动画

    [java] view plaincopy
     
    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.   
    11. </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缓存起来方便多次重用

  • 相关阅读:
    每日日报
    每日日报
    java笔记
    每日日报
    每日日报
    每日日报
    查看当前mysql时区 并设置为北京时间
    springboot 指定配置文件启动, 区分开发和线上分支
    Js Contains方法
    vue $refs的基本用法
  • 原文地址:https://www.cnblogs.com/myblog_myf/p/3362567.html
Copyright © 2011-2022 走看看