当前位置:  编程技术>移动开发
本页文章导读:
    ▪Dialog 动画片        Dialog 动画动画描述: 动画与底部菜单一样出现和消失 制作过程: 1. 创建两个动画文件 window_in.xml: <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > &l.........
    ▪ 日就月将:ListView的属性详解和探究        日积月累:ListView的属性详解和探究 在我们的日常开发中,ListView是一个最常用的组件,所以我们非常有必要对它的属性进行全面的了解。现在就以一个简单的实例,对ListView的属性做一个简.........
    ▪ Java I/零 总体框架图       Java I/0 总体框架图       本文转自http://blog.csdn.net/llhhyy1989/article/details/7388059,做部分整理。        Java中的流,可以从不同的角度进行分类。        按照数据流的方向不同可以分为:.........

[1]Dialog 动画片
    来源: 互联网  发布时间: 2014-02-18
Dialog 动画

动画描述: 动画与底部菜单一样出现和消失

制作过程:

1. 创建两个动画文件

window_in.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
        android:duration="500"
        android:fromXDelta="0"
        android:fromYDelta="1000"
        android:toXDelta="0"
        android:toYDelta="0" />
</set>
window_out.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
        android:duration="500"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="0"
        android:toYDelta="1000" />
</set>


2.将动画配置到style中:

 <style name="main_menu_animstyle">
        <item name="android:windowEnterAnimation">@anim/settingswindow_in_anim</item>
        <item name="android:windowExitAnimation">@anim/settingswindow_out_anim</item>
    </style>

3. 将动画应用于Dialog:

Window window = dialog.getWindow();
//设置显示动画
window.setWindowAnimations(R.style.main_menu_animstyle);
WindowManager.LayoutParams wl = window.getAttributes();
wl.x = 0;
wl.y = getWindowManager().getDefaultDisplay().getHeight();
//设置显示位置
dialog.onWindowAttributesChanged(wl);//设置点击外围解散
dialog.setCanceledOnTouchOutside(true);
dialog.show();








    
[2] 日就月将:ListView的属性详解和探究
    来源: 互联网  发布时间: 2014-02-18
日积月累:ListView的属性详解和探究

在我们的日常开发中,ListView是一个最常用的组件,所以我们非常有必要对它的属性进行全面的了解。现在就以一个简单的实例,对ListView的属性做一个简单的讲解。 

首先我们给出简单的布局文件,就一个简单的ListView列表: 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#FFE1FF" 
    android:orientation="vertical" > 
    <ListView 
        android:id="@+id/listView1" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" /> 
</LinearLayout> 

Activity文件,使用ArrayAdapter对列表进行填充: 

public class MainActivity extends Activity { 
    private ListView listView; 
 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
 
        listView = (ListView) findViewById(R.id.listView1); 
        final List<String> adapterData = new ArrayList<String>(); 
        for (int i = 0; i < 20; i++) { 
           adapterData.add("ListItem" + i); 
        } 
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        android.R.layout.simple_list_item_1, adapterData); 
        listView.setAdapter(adapter); 
     } 
} 

运行效果如下: 

接下来我们在布局的ListView中添加如下属性,并演示其效果。 


1.android:stackFromBottom属性:在ListView和GridView中使用,使它们的内容从底部开始显示。 

 布局文件修改如下: 

 <ListView 
     android:id="@+id/listView1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:stackFromBottom="true" /> 

运行效果如下,列表在开始的时候,内容就从底部开始显示: 


2.android:transcriptMode属性:设置列表的transcriptMode模式,该模式指定列表添加新的选项的时候,是否自动滑动到底部,显示新的选项。 

    disabled:取消transcriptMode模式,默认的 

    normal:当接受到数据集合改变的通知,并且仅仅当最后一个选项已经显示在屏幕的时候,自动滑动到底部。 

    alwaysScroll:无论当前列表显示什么选项,列表将会自动滑动到底部显示最新的选项。 

布局修改如下: 

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:stackFromBottom="true" 
    android:transcriptMode="alwaysScroll" /> 

Activity文件代码如下: 

public class MainActivity extends Activity { 
    private ListView listView; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        listView = (ListView) findViewById(R.id.listView1); 
        final List<String> adapterData = new ArrayList<String>(); 
        for (int i = 0; i < 20; i++) { 
          adapterData.add("ListItem" + i); 
        } 
        final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        android.R.layout.simple_list_item_1, adapterData); 
        listView.setAdapter(adapter); 
 
        //定时给列表添加新的选项,并通知列表更新 
        final Handler handler = new Handler(); 
        Timer timer = new Timer(); 
        timer.scheduleAtFixedRate(new TimerTask() { 
            @Override 
            public void run() { 
                adapterData.add("New ListItem"); 
                handler.post(new Runnable() { 
                @Override 
                public void run() { 
                    adapter.notifyDataSetChanged(); 
                }
            });  
        } 
    }, 3000, 3000); 
} 
运行结果如下: 

6秒后的结果(每当添加新的表项的时候,列表自动滑动的底部显示最新的表项) 

其它两个normal和disable属性就不在演示,如上已经解释的比较清楚,大家可以自己试验感受一下。 


3.android:cacheColorHint属性:该属性在官方文档和个资料中找不到比较好的描述;根据实际的体验,当你设置的ListView的背景时,应该设置该属性为“#00000000”(透明),不然在滑动的时候,列表的颜色会变黑或者背景图片小时的情况! 


4.android:divider属性:列表之间绘制的颜色或者图片。一般开发中用于分隔表项。 

在实际开发过程中,如果你不想要列表之间的分割线,可以设置属性为@null,布局文件如下: 

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:divider="@null" /> 

运行结果如下: 


5.android:fadingEdge属性:设置列表的阴影 

布局文件如下: 

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/ic_launcher" 
    android:cacheColorHint="#000000ff" 
    android:fadingEdge="vertical"  
    android:fadingEdgeLength="40dp"/> 

运行效果如下: 


6.android:fastScrollEnabled属性:启用快速滑动条,它能快速的滑动列表。但在实际的测试中发现,当你的数据比较小的时候,是不会显示快速滚动条。 

布局文件如下: 

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fastScrollEnabled="true" /> 

运行结果如下(当你快速滑动列表的时候,就出现如下快速滑动滚动条): 


7.android:listSelector属性:用来指明列表当前选中的选项的图片  

布局文件如下: 

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:listSelector="@drawable/ic_launcher" /> 

运行结果如下(当用手指点击ListItem3的时候,出现如下效果,图片显示在ListItem3的底部,并未遮挡ListItem3): 


8.android:drawSelectorOnTop属性:当设置为true时候,listSelector的图片将会被绘制在被选中的选项之上。 

布局文件如下: 

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:drawSelectorOnTop="true" 
    android:listSelector="@drawable/ic_launcher" /> 

运行结果如下(对比上面,发现图片遮挡了ListItem3的显示): 


9.android:choiceMode属性:定义了列表的选择行为,默认的情况下,列表没有选择行为。 

none:正常不指定选择的列表 

singleChoice:列表允许一个选择 

multipleChoice:列表允许选择多个 

mutipleChoiceModal: 

布局文件如下: 

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:choiceMode="multipleChoice" /> 

Activity文件如下: 

public class MainActivity extends Activity { 
    private ListView listView; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        listView = (ListView) findViewById(R.id.listView1); 
        final List<String> adapterData = new ArrayList<String>(); 
        for (int i = 0; i < 40; i++) { 
            adapterData.add("ListItem" + i); 
        } 
        //只有使用支持选择的布局才能选择多项 
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
android.R.layout.simple_list_item_checked, adapterData); 
        listView.setAdapter(adapter); 
        listView.setFastScrollEnabled(true); 
    } 
} 

运行结果如下(点击多个选项),关于nono和singleChoice可以自己尝试一下: 

2楼ameryzhu昨天 20:47Mark.1楼xiao__gui前天 10:14android:choiceMode属性n为什么我设置以后没有图片上的那样再列表项右边显示√Re: p106786860前天 10:18回复xiao__guin你的List的布局有没有设置为android.R.layout.simple_list_item_checkedRe: xiao__gui前天 10:32回复p106786860n谢谢

    
[3] Java I/零 总体框架图
    来源: 互联网  发布时间: 2014-02-18
Java I/0 总体框架图

       本文转自http://blog.csdn.net/llhhyy1989/article/details/7388059,做部分整理。


       Java中的流,可以从不同的角度进行分类。

       按照数据流的方向不同可以分为:输入流和输出流。

       按照处理数据单位不同可以分为:字节流和字符流。

       按照实现功能不同可以分为:节点流和处理流。

 

      输出流:

      

       输入流:

       

       因此输入和输出都是从程序的角度来说的。

       字节流:一次读入或读出是8位二进制。

       字符流:一次读入或读出是16位二进制。

       字节流和字符流的原理是相同的,只不过处理的单位不同而已。后缀是Stream是字节流,而后缀是Reader,Writer是字符流。

 

       节点流:直接与数据源相连,读入或读出。

   

       直接使用节点流,读写不方便,为了更快的读写文件,才有了处理流。

       处理流:与节点流一块使用,在节点流的基础上,再套接一层,套接在节点流上的就是处理流。

      

       Jdk提供的流继承了四大类:InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输入流),Writer(字符输出流)。

 

        以下是java中io中常用的流。

        

 

        字节输入流:

       


        字节输出流:

       


        字符输入流:

       


         字符输出流:

       

       

       简单介绍其上图:

       对文件进行操作:FileInputStream(字节输入流),FileOutputStream(字节输出流),FileReader(字符输入流),FileWriter(字符输出流)

       对管道进行操作:PipedInputStream(字节输入流),PipedOutStream(字节输出流),PipedReader(字符输入流),PipedWriter(字符输出流)

    PipedInputStream的一个实例要和PipedOutputStream的一个实例共同使用,共同完成管道的读取写入操作。主要用于线程操作。

       字节/字符数组:ByteArrayInputStream,ByteArrayOutputStream,CharArrayReader,CharArrayWriter是在内存中开辟了一个字节或字符数组。

    Buffered缓冲流::BufferedInputStream,BufferedOutputStream,BufferedReader,BufferedWriter,是带缓冲区的处理流,缓冲区的作用的主要目的是:避免每次和硬盘打交道,提高数据访问的效率。

       转化流:InputStreamReader/OutputStreamWriter,把字节转化成字符。

       数据流:DataInputStream,DataOutputStream。

       因为平时若是我们输出一个8个字节的long类型或4个字节的float类型,那怎么办呢?可以一个字节一个字节输出,也可以把转换成字符串输出,但是这样转换费时间,若是直接输出该多好啊,因此这个数据流就解决了我们输出数据类型的困难。数据流可以直接输出float类型或long类型,提高了数据读写的效率。

       打印流:printStream,printWriter,一般是打印到控制台,可以进行控制打印的地方。

       对象流:ObjectInputStream,ObjectOutputStream,把封装的对象直接输出,而不是一个个在转换成字符串再输出。

       序列化流:SequenceInputStream。




1楼ameryzhu前天 11:26Mark.

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3