精华内容
下载资源
问答
  • 位图单位,16,256位较合适 新建资源模板 右键选择插入 引入Bitmap文件 如果程序所在文件夹有符合要求的位图,就可以放入

    位图单位,16,256位较合适
    在这里插入图片描述
    新建资源模板
    在这里插入图片描述
    右键选择插入
    在这里插入图片描述
    引入Bitmap文件
    在这里插入图片描述
    如果程序所在文件夹有符合要求的位图,就可以放入
    在这里插入图片描述

    展开全文
  • d盘的文件夹aaa里面创建三个文本 createNewFile()创建文件 19 File file1 = new File("d:\\aaa\\aaa.txt" ); 20 boolean newFile1 = file1.createNewFile(); 21 System.out.println(newFile1); 22...
     1 import java.io.File;
     2 import java.io.IOException;
     3 
     4 public class FileDemo {
     5     public static void main(String[] args) {
     6         // 抛除异常IOEcxception
     7         try {
     8             fun();
     9         } catch (IOException e) {
    10             e.printStackTrace();
    11         }
    12     }
    13     public static void fun() throws IOException {
    14         // 在d盘创建一个文件夹aaa   madir()创建文件夹目录
    15         File file = new File("d:\\aaa");
    16         boolean mkdir = file.mkdir();
    17         System.out.println(mkdir);
    18         // 在d盘的文件夹aaa里面创建三个文本   createNewFile()创建文件
    19         File file1 = new File("d:\\aaa\\aaa.txt");
    20         boolean newFile1 = file1.createNewFile();
    21         System.out.println(newFile1);
    22         File file2 = new File("d:\\aaa\\bbb.txt");
    23         boolean newFile2 = file2.createNewFile();
    24         System.out.println(newFile2);
    25         File file3 = new File("d:\\aaa\\ddd.txt");
    26         boolean newFile3 = file3.createNewFile();
    27         System.out.println(newFile3);
    28 
    29         // 多创建了一个ccc.txt文本
    30         // 删除文件夹内的ccc.txt文本
    31         File file4 = new File("d:\\aaa\\ccc.txt");
    32         boolean delete = file4.delete();
    33         System.out.println(delete);
    34 
    35         // 遍历文件夹aaa内的三个文本   list() 遍历
    36         File file5 = new File("d:\\aaa");
    37         String[] list = file5.list();
    38         for(String i:list){
    39             System.out.println(i);
    40         }
    41     }
    42 }

    打印结果 再看看d盘有没有成功创建文件

    转载于:https://www.cnblogs.com/zhangmenghui/p/10586152.html

    展开全文
  • Eclipse中Android程序项目目录结构的res文件夹新建drawable文件夹,并drawable文件夹下新建各类的xml样式文件,供layout文件夹下的xml布局文件引用,以满足对程序界面的需求开发。如图1和图2是drawablexml...

    1、引言

    在Eclipse中Android程序项目目录结构下的res文件夹新建drawable文件夹,并在drawable文件夹下新建各类的xml样式文件,供layout文件夹下的xml布局文件引用,以满足对程序界面的需求开发。如图1和图2是drawable下xml样式文件的样式类型。

    图1 
    图1、drawable下xml样式文件的样式类型(一)

    图2 
    图2、drawable下xml样式文件的样式类型(二)

    接下来我们要详细解析以下各类xml样式文件的作用及其使用方法,请点击目录查看相应解析。

    2、animation-list

    使用animation-list样式可以实现逐帧动画效果,例如WiFi网络信号的强弱表示或者语音聊天声音的强弱表示,分为增强和减弱两种逐帧动画效果。 
    首先是放置图片素材,如图3所示。将其根据屏幕分辨率大小分别放一套图片到不同屏幕分辨率的drawable文件夹下,android系统会根据机器的屏幕分辨率到相应屏幕分辨率的drawable文件夹里面去找相应的图片素材,以兼容不同屏幕分辨率的安卓机器屏幕。

    这里写图片描述这里写图片描述这里写图片描述这里写图片描述

    图3、iv1到iv4 
    其次是信号增强即图片顺序播放的效果,在drawable下新建animation_list_sequence.xml样式文件。

    <?xml version="1.0" encoding="utf-8"?>
    <!-- 
        根标签为animation-list;
        其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画;
        其中visible规定drawable的初始可见性,默认为flase;
        其中variablePadding若为true则允许drawable的距离在当前选择状态下有所改变(If true, allows the drawable’s padding to change based on the current state that is selected.),默认为false;
        根标签下,通过item标签对动画中的每一个图片进行声明;
        android:duration 表示展示所用的该图片的时间长度,单位为毫秒;
     -->
    <animation-list
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:oneshot="true"
      android:visible="false"
      android:variablePadding="false"
      >
        <item android:drawable="@drawable/iv1" android:duration="200"></item>
        <item android:drawable="@drawable/iv2" android:duration="200"></item>
        <item android:drawable="@drawable/iv3" android:duration="200"></item>
        <item android:drawable="@drawable/iv4" android:duration="200"></item>
    </animation-list>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    再者是信号增强即图片顺序播放的效果,在drawable下新建animation_list_reverse.xml样式文件。

    <?xml version="1.0" encoding="utf-8"?>
    <!-- 
        根标签为animation-list;
        其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画;
        其中visible规定drawable的初始可见性,默认为flase;
        其中variablePadding若为true则允许drawable的距离在当前选择状态下有所改变(If true, allows the drawable’s padding to change based on the current state that is selected.),默认为false;
        根标签下,通过item标签对动画中的每一个图片进行声明;
        android:duration 表示展示所用的该图片的时间长度,单位为毫秒;
     -->
    <animation-list
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:oneshot="true"
      android:visible="false"
      android:variablePadding="false"
      >
        <item android:drawable="@drawable/iv4" android:duration="200"></item>
        <item android:drawable="@drawable/iv3" android:duration="200"></item>
        <item android:drawable="@drawable/iv2" android:duration="200"></item>
        <item android:drawable="@drawable/iv1" android:duration="200"></item>
    </animation-list>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    然后在layout文件夹下新建xml布局文件activity_animation_list.xml,引用上面写好的drawable文件夹下的xml样式文件。

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <ImageView
            android:id="@+id/iv_animation_list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/animation_list_sequence" />
    
        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="sequence"
            android:text="顺序显示" />
    
        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="stop"
            android:text="停止动画" />
    
        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="reverse"
            android:text="倒序显示" />
    
    </LinearLayout>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    然后在src包下新建Activity的Java文件AnimationListActivity.java,用于演示操作。

    package com.zcz.drawablexmltest;
    
    import android.app.Activity;
    import android.graphics.drawable.AnimationDrawable;
    import android.os.Bundle;
    import android.view.View;
    import android.view.Window;
    import android.widget.ImageView;
    
    public class AnimationListActivity extends Activity{
        private ImageView mIv;  
        private AnimationDrawable mAd;  
        @Override  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            requestWindowFeature(Window.FEATURE_NO_TITLE);  
            setContentView(R.layout.activity_animation_list);  
            mIv = (ImageView) findViewById(R.id.iv_animation_list); 
        }  
    
        public void sequence(View view){
            mIv.setImageResource(R.drawable.animation_list_sequence);  
            mAd = (AnimationDrawable) mIv.getDrawable();  
            mAd.start();  
        }
        public void stop(View view){
            mAd = (AnimationDrawable) mIv.getDrawable();  
            mAd.stop();  
        }
        public void reverse(View view){
            mIv.setImageResource(R.drawable.animation_list_reverse);  
            mAd = (AnimationDrawable) mIv.getDrawable();  
            mAd.start(); 
        }
    }
    
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    其中动画的播放和暂停用到了AnimationDrawable 这个类的方法,通过查看AnimationDrawable 类的源代码我们就知道了animation-list的逐帧动画就是通过每隔指定时间变换不同的图片来实现的。

        /**
         * <p>Starts the animation, looping if necessary. This method has no effect
         * if the animation is running. Do not call this in the {@link android.app.Activity#onCreate}
         * method of your activity, because the {@link android.graphics.drawable.AnimationDrawable} is
         * not yet fully attached to the window. If you want to play
         * the animation immediately, without requiring interaction, then you might want to call it
         * from the {@link android.app.Activity#onWindowFocusChanged} method in your activity,
         * which will get called when Android brings your window into focus.</p>
         *
         * @see #isRunning()
         * @see #stop()
         */
        public void start() {
            if (!isRunning()) {
                run();
            }
        }
    
        /**
         * <p>Stops the animation. This method has no effect if the animation is
         * not running.</p>
         *
         * @see #isRunning()
         * @see #start()
         */
        public void stop() {
            if (isRunning()) {
                unscheduleSelf(this);
            }
        }
        /**
         * <p>Indicates whether the animation is currently running or not.</p>
         *
         * @return true if the animation is running, false otherwise
         */
        public boolean isRunning() {
            return mCurFrame > -1;
        }
    
        /**
         * <p>This method exists for implementation purpose only and should not be
         * called directly. Invoke {@link #start()} instead.</p>
         *
         * @see #start()
         */
        public void run() {
            nextFrame(false);
        }
    
        @Override
        public void unscheduleSelf(Runnable what) {
            mCurFrame = -1;
            super.unscheduleSelf(what);
        }
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54

    最后让我们看一下运行之后的逐帧动画效果,如图4和图5所示。 
    这里写图片描述 
    图4 顺序显示 
    这里写图片描述 
    图5 倒序显示

    3、bitmap

    XML Bitmap是定义在XML文件当中,指向一个位图文件的资源,为原生的位图文件起了一个别名,其最终将被编译成BitmapDrawable对象。 
    首先,在drawable文件夹下新建一个bitmap类型的xml样式文件bitmap.xml。

    <?xml version="1.0" encoding="utf-8"?>
    <!--
    antialias:开启或关闭抗锯齿
    autoMirrored:是否自动镜像
    dither:开启或关闭图像抖动(如果位图与显示屏幕的像素配置不相同时会用到,比如一张ARGB8888位图和一个RGB565的显示屏)
    filter:开启或关闭滤镜。当收缩或是拉伸位图时使用这个来使位图看上去更平滑
    gravity:当位图大小比它所在的容器小的时候,使用这个属性来决定位图在容器中的位置
    mipMap:是否使用文理映射过滤提示
    src:设置资源图片
    tileMode——定义平铺模式。如果定义了,那么位图将会重复,并且Gravity属性将失效。可取的值有disabled(默认值,不启用平铺)、clamp(复制位图边缘的颜色来填充容器剩下的空白部分)、repeat(复制整个位图来填充容器)、mirror(与repeat类似,但是是交替的镜像复制,即相邻的两张是镜像对称的)
    -->
    <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
        android:antialias="false"
        android:autoMirrored="true"
        android:dither="true"
        android:filter="true"
        android:gravity="center"
        android:mipMap="true"
        android:src="@drawable/ic_launcher"
        android:tileMode="mirror" >
    
    </bitmap>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    其次在layout文件夹下新建xml布局文件activity_bitmap.xml,并引用之前写的bitmap.xml。

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/bitmap"
        android:orientation="vertical" >
    
    </LinearLayout>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    然后在src包下新建Activity的Java文件BitmapActivity.java,用于演示操作。

    package com.zcz.drawablexmltest;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    public class BitmapActivity extends Activity{
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_bitmap);
        }
    }
    
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    最后让我们看一下运行之后的mirror平铺模式效果,如图6所示。 
    这里写图片描述
    图6 mirror平铺模式效果

    4、clip

    使用剪切图像资源可以只显示一部分图像,这种资源经常被用在进度条的制作上,其最终将被编译成ClipDrawable对象。 
    首先,在drawable文件夹下新建一个bitmap类型的xml样式文件clip.xml。

    <?xml version="1.0" encoding="utf-8"?>
    <!--
    android:drawable:指定要剪切的原图像。
    
    android:clipOrientation:截取的方向。可取的值:horizontal和vertical。分别表示水平和垂直方向截取图像。
    
    android:gravity:表示如何截取图像。例如,left表示从左侧截取图像,right表示从右侧截取图像。
    
    -->
    <clip xmlns:android="http://schemas.android.com/apk/res/android"
        android:clipOrientation="vertical"
        android:drawable="@drawable/ic_launcher"
        android:gravity="top" >
    
    </clip>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    其次在layout文件夹下新建xml布局文件activity_clip.xml,并引用之前写的clip.xml。

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical" >
        <ImageView 
    
            android:id="@+id/iv_clip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/clip"
    
            />
    
    </LinearLayout>
    
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    然后在src包下新建Activity的Java文件ClipActivity.java,用于演示操作。

    package com.zcz.drawablexmltest;
    
    import android.app.Activity;
    import android.graphics.drawable.ClipDrawable;
    import android.os.Bundle;
    import android.widget.ImageView;
    
    public class ClipActivity extends Activity {
        private ImageView mIv;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_clip);
    
            mIv = (ImageView) findViewById(R.id.iv_clip);
            ClipDrawable drawable = (ClipDrawable) mIv.getBackground();
            drawable.setLevel(5000);
            /**
             * ClipDrawable类内部预设了一个最大的level值10000(Android
             * SDK未提供API修改该值)。如果这个level的值为0
             * ,表示截取图像的宽度或高度为0,也就是说,图像就无法显示了。如果level的值为10000,表示显示全部的图像(不进行任何截取)。
             */
        }
    }
    
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    最后让我们看一下运行之后的半截图片效果,如图7所示。 
    这里写图片描述
    图7 半截图片效果

    4、color

    首先,在drawable文件夹下新建一个bitmap类型的xml样式文件color.xml。

    <?xml version="1.0" encoding="utf-8"?>
    <!-- color:指定顏色值 -->
    <color xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="#555555" >
    
    </color>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    其次呢,给activity_clip.xml的LinearLayout加个背景: android:background=”@drawable/color”。

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:background="@drawable/color"
        android:orientation="vertical" >
        <ImageView 
    
            android:id="@+id/iv_clip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/clip"
    
            />
    
    </LinearLayout>
    
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    最后让我们看一下运行之后的颜色效果,如图8所示。 
    这里写图片描述
    图8 颜色效果

    5、inset

    嵌入图像资源,用于通过指定的间距把图片显示出来,它在View需要比自身小的背景时常用,有些像padding的作用。

    首先,在drawable文件夹下新建一个bitmap类型的xml样式文件inset.xml。

    <?xml version="1.0" encoding="utf-8"?>
    <!--
        android:insetBottom="100dp"
        android:insetLeft="100dp"
        android:insetRight="100dp"
        android:insetTop="100dp"
        各方向距离
    -->
    <inset xmlns:android="http://schemas.android.com/apk/res/android"
        android:drawable="@drawable/ic_launcher"
        android:insetBottom="100dp"
        android:insetLeft="100dp"
        android:insetRight="100dp"
        android:insetTop="100dp"
        android:visible="true" >
    
    </inset>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    其次呢,给activity_animation_list.xml的LinearLayout加个背景: android:background=”@drawable/inset “。

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/inset"
        android:orientation="vertical" >
    
        <ImageView
            android:id="@+id/iv_animation_list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/animation_list_sequence" />
    
        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="sequence"
            android:text="顺序显示" />
    
        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="stop"
            android:text="停止动画" />
    
        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="reverse"
            android:text="倒序显示" />
    
    </LinearLayout>
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    最后让我们看一下运行之后的距离效果,背景视图距各方向边距均为100dp,如图8所示。 
    这里写图片描述
    图8 距离效果

    6、未完待续……

    展开全文
  • 决定一个文件夹下能存放多少个文件的,是文件系统,而不是操作系统。文件系统是给硬盘分区格式化时选择的格式。Windows有两种主流的文件系统:FAT32和NTFSFAT32 标称为单目录最高支持65534个文件,实际到2万+时已...

    决定一个文件夹下能存放多少个文件的,是文件系统,而不是操作系统。文件系统是给硬盘分区格式化时选择的格式。Windows有两种主流的文件系统:FAT32和NTFSFAT32 标称为单目录下最高支持65534个文件,实际到2万+时已不稳定。NTFS 似乎没有明确限制单目录文件数量,但有人反应在生成10万+ 文件的目录时遇到报错,想来应该是和文件属性(文件名等)、磁盘使用状况相关,至于对效率的影响,可以参考以下内容,以下内容为转载 似乎 FAT32 文件系统下的单一目录下的文件数限制在 20000 -30000 之间的一个数字。。。具体就不知道是哪个了。

    。因为我在 解压一个有 30000 多个文件的 rar 文件到 fat32 目录的时候出现磁盘满的提示。。但是磁盘并没有满。。。每个目录都要描述它的内容所在的磁盘位置,名字等信息。

    这些信息是连续存放的,而且空间有限,用完了就不能再加了

    改进的文件系统,目录信息自身也是在磁盘上不连续分布的,就没有这个问题了。不过一般来讲这个都不是问题。在文件很多的系统中,往往会自己创建子目录进行分类。

    比如VSS.对于 FAT16文件系统,可以保存的文件体积最大值是 4 GB - 1 byte (2^32 bytes - 1 byte);

    卷的最大体积是4GB;每个卷上最多可以保存的文件数量是65,536个 (2^16);根目录下可以保存的文件和文件夹数量最大值是512个(如果使用了长文件名,该数字还会减小)


    对于FAT32文件系统, 可以保存的文件体积最大值是 4 GB - 1 byte (2^32 bytes - 1 byte);Windows自带的工具可以创建的卷的最大体积是32GB;每个卷中最多可以保存的文件数量是4,177,920个;

    一个特定文件夹中最多可以保存的子文件夹和文件的数量是65,534(如果使用了长文件名,那么该数字会减小)对于NTFS文件系统,

    可以保存的文件的大小的最大值,理论上是16EB - 1 KB (2^64 bytes - 1 KB)(1EB=1024PB=1024TB=1024GB) ,实际实现过的最大值是16TB - 64 KB (2^44 bytes - 64 KB);卷的体积最大值,理论上可以达到2^64个簇 - 1个簇,实际实现过的最大值是2^56 TB - 64 KB ( 2^32 个簇 - 1个簇);

    每个卷可以包含的文件个数的最大值是4,294,967,295个 (2^32 - 1)理论上FAT32单个目录下,最多可以包括65534个子目录或者文件。但是如果采用长文件名命名的话,实际可以容纳的文件数目会远远小于6万多。

    2万多属于正常现象。


    NTFS克服了这个问题,但是对于单个目录下多文件的操作(拷贝,移动或者删除),比如说几万个小文件,每个十几k大,仍然十分头疼,个人觉得是死穴,也是正常现象。

    Linux的文件系统就多了去了:ext2, ext3, ext4, reiserfs, cramfs, jfs, xfs, bfs等等等等……我无法给你逐一列举,但是可以确定的告诉你,Linux就是用来作服务器的,主流的三种分区格式ext3, ext4, reiserfs不会有个人用户有能力达到其最高容量的,你的硬盘尺寸肯定都达不到不到他们的“最大文件尺寸”限制。


     我曾经给Linux服务器的一整块76G硬盘dump成一个76G的文件,再大也没问题。


    对于FAT16文件系统,可以保存的文件体积最大值是 4 GB 
    - 1 byte (2^32 bytes - 1 
    byte);卷的最大体积是4GB;每个卷上最多可以保存的文件数量是65,536个 
    (2^16);根目录下可以保存的文件和文件夹数量最大值是512个(如果使用了长文件名,该数字还会减小) 
    
    
    对于FAT32文件系统, 可以保存的文件体积最大值是 4 GB 
    - 1 byte (2^32 bytes - 1 
    byte);Windows自带的工具可以创建的卷的最大体积是32GB;每个卷中最多可以保存的文件数量是4,177,920个;一个特定文件夹中最多可以保­存的子文件夹和文件的数量是65,534(如果使用了长文件名,那么该数字会减小) 
    
    
    对于NTFS文件系统,可以保存的文件的大小的最大值,理论上是16EB 
    - 1 KB (2^64 bytes - 1 KB)(1EB=1024PB=1024TB=1024GB) 
    ,实际实现过的最大值是16TB - 64 KB (2^44 bytes - 64 
    KB);卷的体积最大值,理论上可以达到2^64个簇 - 
    1个簇,实际实现过的最大值是2^56 TB - 64 KB ( 2^32 个簇 - 
    1个簇);每个卷可以包含的文件个数的最大值是4,294,967,295个 
    (2^32 - 1)

    0
    Windows下我的文件夹有过50000左右的图片,没感到效率问题 这方面NTFS比FAT32要强很多,服务器永远也不应该跑FAT32分区 Linux下没有尝试过 

    NTFS以上可以存储无数个,但是移动,检索性能会大幅度降低。


    文件系统:FAT32、NTFS、exFAT和HFS+

      FAT32

      FAT32最早出现在1997年的Windows 95B中,几乎所有主流操作系统都可以创建、读取和写入FAT32分区,对于低容量外部存储(例如USB闪存驱动器)FAT32仍然是一个不错的选择。现代操作系统在默认情况下选择NTFS,Mac操作系统运行HFS+。

      作为一个32位文件系统,FAT32被限制为最大分区大小32TB,8KB簇,虽然这种格式的原来格式限制被限制为最大分区2TB,而当前Windows操作系统让其难以使FAT32分区大于32GB。簇大小直接取决于分区大小,簇的范围从512字节到8KB之间。由于文件大小被存储在4字节字段中,最大文件大小限制为4GB。这对于视频文件或者驱动器镜像而言,将是一个问题。文件名是灵活地,允许最多255字符。FAT32并不支持日志(journaling),这意味着用户数据或元数据的完整性问题可能导致信息丢失。FAT32不支持权限管理。

      Windows XP提供安装到FAT32分区的选项,而Windows Vista和7并不提供,因为它们依赖于NTFS。

      NTFS

      新技术文件系统与Windows NT一起推出,与IBM的HPFS很类似。文件大小可以高达16TB(理论上是16EB),而分区目前最大可达256TB。其文件大小限制与FAT32的4GB相比更具现实意义。文件名最多可长达255字符。NTFS支持LZ77压缩、文件级加密(通常是AES)和访问控制,通过ACL管理。4KB(FAT32为32KB)簇大小确保写入驱动器的小文件不会浪费太多容量。这也是为什么4KB簇大小对SSD性能的重要性,你会发现,NTFS比其他文件系统更具优势。

      主文件表(Master File Table,以下简称MFT)存储文件的属性、位置和访问信息。最小的文件直接被保存在MFT中。与文件分配表不同,MFT在格式化过程中并不会被完全写入,会随着时间的推移而增长。正因为如此,它是唯一可以经受碎片的。它还能够日志记录元数据,这意味着写入操作先被记录,写入程序再执行,日志中会记录成功完成的结果。写入过程会因为电源故障而失败吗?例如,系统恢复之前写入的日志和恢复到稳定的文件系统状态。

      exFAT

      exFAT是微软专门设计来处理闪存的,高容量SDXC卡都采用了exFAT,虽然并没有严格要求使用。所有现有Windows版本(从Vista SP1或XP SP2起)都支持exFAT,高达64ZB,文件高达16EB。与FAT32不同,其簇可以增加到32MB,访问控制通过ACL管理。自由空间位图负责容量分配,提高删除性能。这能够最大程度的提高写入性能,尤其是与NTFS相比,NTFS要求被删除的数据被覆盖。

      然而,因为微软的exFAT授权机制,该文件系统并没有像FAT32和NTFS一样受到广泛支持。因此,exFAT还没有广泛应用于消费类电子产品,尽管它就是为此目的而设计(即使XP SP2和Mac OS X 10.6.5都支持exFAT)。Windows Vista和7在很大程度上依赖于NTFS提供的文件权限和其他功能。

      HFS+

      HFS+也被称为Mac OS Extended, 它能够在所有类型的存储设备上运作,包括光盘。HFS+支持日志,且分袂通常可以安装在Unix和Linux系统中。即使给定内核不支持HFS+,通常可以找到可选软件包,然而,有时候这些只支持读取HFS+格式化的分区。另外还有第三方工具提供Windows对HFS+的支持,例如Paragon Software的HFS for Windows或者Mediafour的MacDrive。

      HFS+具有512字节扇区(被分组成分配块),最多支持255个字符的文件名,最大文件大小为8EB。HFS+通过不断尝试寻找足够容纳一个被写入文件的自由空间来管理文件碎片。文件大小的增加可能会导致文件需要完全被重写。最后,自10.3版本的Mac OS X开始支持动态碎片整理,当文件被分为8个以上部分且其他活动/访问先决条件不适用时就会采取行动,HFS+支持访问控制、压缩和加密。



    512个是根目录限制,其他目录还是没关系的。
    ntfs和linux ext3应该都有限制,
    
    这可能有硬盘技术决定,和分区性质无关

    更多的是IO问题,那么如果是固态硬盘会好很多。

    展开全文
  • 如何使用项目子文件夹下面的资源文件?如果(大多数情况)您使用 Visual Studio.NET 来开发和构建程序集,您可以将资源添加到 Windows 窗体项目中,该方法将把合适的命令行参数传递给编译器。要将资源添加到项目中...
  • android从assets文件夹中读取xml文件

    千次阅读 2015-12-09 22:23:37
    Context.getAssets().openXmlResourceParser(fileNameString) 出现FileNotFoundException,认为assets文件夹文件须用open()打开,不能用方法openXmlResourceParser。 解决方法把xml文件放入res文件夹打开。 ...
  • 1、StateListDrawable 资源: 作用:比如按钮“按下去”和“没按下去”时颜色的差别。...实例代码:创建资源文件 my_image.xml 引用该资源代码: ....... android:textColor= "@drawabl
  • 具体的操作包括文件文件夹的新建,创建快捷方式,复制、删除、查找和压缩等。新建文件文件夹当小伙伴们需要存储一些文件信息或者是将信息分类存放时,就需要新建文件或者文件夹。1. 新建文件新建文件的方法有两...
  • 捕捉屏幕并保存位图文件

    千次阅读 2004-10-26 19:04:00
    // 保存屏幕兼容位图为 24 位色位图文件 BOOL WINAPI SaveBitmap(HBITMAP hBitmap, LPCSTR ptzFileName) { HDC hDC; DWORD dwSize; BOOL bReturn; LPBYTE pBits; HANDLE hFile; BITMAP bmBitmap; ...
  • Android资源文件文件夹介绍

    千次阅读 2011-04-14 18:19:00
    相关文件夹介绍 Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, ...
  • 某个txt文件保存着一个文件夹下的某些图像,我们需要把txt中包含的所有图像复制到另一个文件夹内进行保存 代码如下: package csdn; /** * 从存有图像名称的txt文件中复制某个文件夹下的指定名称的图像,将图像...
  • 如果是 Servlet ,那么 doPost 中合适时机调用此方法即可,文件夹位置根据实际情况设置,比如测试时windows系统设置dir = “D:\Downloads”, Mac系统设置dir = “/Users/…/Downloads”。由于MD文件的格式化可能...
  • Android res文件夹下资源定义及使用

    千次阅读 2014-12-17 13:56:44
    颜色 #RGB #ARGB #RRGGBB #...标签  路径res/values/colors.xml 名字可以随意  定义&lt;color name=”cname”&gt;value&lt;/color&gt;  使用 Resourse.getValues.getColor或R.标签名."n...
  • 位图到二进制 从位图列表生成二进制文件。 编写它是为了优化从 MCU 存储器到基于 PCD...将 bmp 文件放在与 .exe 相同的文件夹中的“bmp”文件夹中。 添加要从左侧列表转换为右侧列表的文件。 去做 创建添加文件的索引。
  • 界面加载位图

    2017-06-17 17:53:53
    复制一张位图至项目文件的res文件夹项目工作区资源视图中"import'资源文件夹中的位图,ID为:IDB_BITMAP1 View类的OnDraw函数中代码如下: void CGrapView::OnDraw(CDC* pDC) { CGrapDoc* ...
  • Android支持四种类型的位图(Bitmap)分别为ALPHA_8、ARGB_4444、ARGB_8888、RGB_565,常用的类型是ARGB_8888和RGB_565。ARGB_8888类型的位图为32位的位图,它的每一个像素点有32位组成,每8位一组,每组代表的意思...
  • Android res文件夹下资源定义及使用!

    千次阅读 2015-07-14 17:14:10
    颜色资源应该位于标签 路径res/values/colors.xml 名字可以随意 定义 name=”cname”>value 使用 Resourse.getValues.getColor或R.标签名."name"属性,如:R.color.cname xml version="1.0" encoding=
  • 位图绘制

    2011-01-25 23:27:00
    <br />MBM文件 多位图文件:Multi-Bitmap File 一个MBM文件可以包含多张位图 三种类型: ROM图像类型 压缩的ROM图像类型 文件库类型(缺省) 生成方式: 命令行:...
  • 使用来自 FreeType、TrueType 和一些其他字体格式的位图字符创建纹理图集的实用程序。 当前状态:alpha 下载:支持: (俄语) 捐赠:bitcoin:1P2tXqBRCnmuQcaaD47AUzVWbx3Z4so27m 与其他程序相比,它的突出特点...
  • 如果要图像编辑程序中为游戏制作位图字体,但没有创建BMFont文件的简单方法,则可能需要该程序。 还有其他一些程序,它们专注于将TrueType字体光栅化为位图-但是,该程序着重于将更加用户友好的位图格式转换为...
  • 前两天一个朋友叫我帮他写一段代码,想把资源中包含的图片释放成磁盘文件,我想这个应该很简单啊,于是便写了如下函数:BOOL FreeSource_1(LPCTSTR pszResName,LPCTSTR pszResType,LPCTSTR szFileName){ BOOL bRet =...
  • 创建和使用资源文件resources

    千次阅读 2009-05-30 12:24:00
    .Net中使用AE的ICommand、ITool、BaseComand等定制按钮、工具或菜单的时候,需要添加按钮的位图信息。一般来讲,这种图片一般都存放项目的资源文件里面。摸索了大半天才大概搞清楚怎么创建、添加和使用资源文件...
  • MFC 加载位图

    千次阅读 2014-03-13 00:15:37
    Windows的位图有两种类型:一种是GDI位图,另一种是DIB位图。GDI位图是由MFC中的CBitmap类来表示的,是与设备有关的位图。DIB是与设备无关的位图,它自带颜色,并任何运行Windows的机器都可以处理DIB,比GDI优越得多...
  • resource —— Android AssetPackaging Tool (aapt...assets(与resource同级)resource级下文件命名一定要规范,不然会报错: 1.animator 存放定义了property animations(属性动画) 的XML文件 2.anim 存放定义了补
  • 1.两者目录文件在打包后会原封不动的保存apk包中,不会被编译成二进制。 *res/raw和assets的不同点: 1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,475
精华内容 4,990
关键字:

在文件夹下创建位图文件