博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发---如何操作资源目录中的资源文件
阅读量:5097 次
发布时间:2019-06-13

本文共 5775 字,大约阅读时间需要 19 分钟。

 效果图:

1、activity_main.xml

2、MainActivity.java

package com.example.android_activity;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;//实现View.OnClickListener类//通过实现OnClickListener类可以在一个activity中对所有的按钮进行控制public class MainActivity extends Activity implements View.OnClickListener{    //获取按钮    private Button btn1,btn2,btn3;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //获取按钮id        btn1=(Button)findViewById(R.id.btn1);        btn2=(Button)findViewById(R.id.btn2);        btn3=(Button)findViewById(R.id.btn3);        //给每个按钮设置单击事件监听器        btn1.setOnClickListener(this);        btn2.setOnClickListener(this);        btn3.setOnClickListener(this);    }    //在OnClickListener抽象类中有onClick()抽象方法,重写抽象类的onClick()方法,需要传入一个参数    @Override    public void onClick(View view) {        Intent intent=null;        switch (view.getId()){            case R.id.btn1:                intent=new Intent(this,StringActivity.class);                break;            case R.id.btn2:                break;            case R.id.btn3:                intent=new Intent(this,BitMapActivity.class);                break;        }        if(intent!=null)            startActivity(intent);    }}

3、activity_string.xml

4、StringActivity.java

package com.example.android_activity;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Toast;import java.util.Arrays;public class StringActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_string);    }    //当点击了btn1后页面跳转到这里,当用户点击此页面中的test_1按钮时,做下面的事情    //在Java代码中读取资源文件    public void test_1(View view){        String message=getString(R.string.app_success_message);        //弹出“操作成功”        Toast.makeText(this,message,Toast.LENGTH_LONG).show();    }    //在java中读取字符串数组    public void test_2(View view){        //读取到res/values目录下的string.xml文件中对应的内容        String[] citys=getResources().getStringArray(R.array.citys);        //将内容弹出        Toast.makeText(this, Arrays.toString(citys),Toast.LENGTH_LONG).show();    }    //读取带有占位符的字符串    public void test_3(View view){        String message=getString(R.string.app_sayhello_message);        message=String.format(message,"Lucy","字符串资源管理");        Toast.makeText(this, message,Toast.LENGTH_LONG).show();    }}

5、activity_bit_amp.xml

6、BitMapActivity.java

package com.example.android_activity;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.widget.ImageView;import android.widget.Toast;public class BitMapActivity extends Activity {    //获取图片    private ImageView image_1,image_2,image_3,image_4;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_bit_map);        //获取图片id        image_1=(ImageView)findViewById(R.id.image_1);        image_2=(ImageView)findViewById(R.id.image_2);        image_3=(ImageView)findViewById(R.id.image_3);        image_4=(ImageView)findViewById(R.id.image_4);        //为ImageView绑定图像        image_1.setImageDrawable(getResources().getDrawable(R.drawable.b5));        image_2.setImageResource(R.drawable.b7);        //将一个资源文件转换为一个Bitmap位图对象        Bitmap bitmap= BitmapFactory.decodeResource(getResources(),R.drawable.b7);        //输出图像大小        Toast.makeText(this,"大小:"+bitmap.getByteCount(),Toast.LENGTH_LONG).show();        image_3.setImageBitmap(bitmap);        //压缩图像        Bitmap newImage=decodeBitMap(R.drawable.b7);        image_3.setImageBitmap(newImage);        Toast.makeText(this,"大小:"+newImage.getByteCount(),Toast.LENGTH_LONG).show();    }    private Bitmap decodeBitMap(int resId){        //构建位图工厂选项对象        BitmapFactory.Options options=new BitmapFactory.Options();        options.inJustDecodeBounds=true;//当前只加载图像框架        //构建位图框架        Bitmap bf=BitmapFactory.decodeResource(getResources(),resId,options);        int w = options.outWidth;        int h = options.outHeight;        // 想要缩放的目标尺寸        float hh = 240f;// 设置高度为240f时,可以明显看到图片缩小了        float ww = 120f;// 设置宽度为120f,可以明显看到图片缩小了        // 缩放比。由于是固定比例缩放,只用高或者宽其中一个数据进行计算即可        int be = 1;//be=1表示不缩放        if (w > h && w > ww) {
//如果宽度大的话根据宽度固定大小缩放 be = (int) (options.outWidth / ww); } else if (w < h && h > hh) {
//如果高度高的话根据宽度固定大小缩放 be = (int) (options.outHeight / hh); } if (be <= 0) be = 1; options.inSampleSize = be;//设置缩放比例 options.inJustDecodeBounds=false;//不再只加载图像框架 //重新加载图像 bf=BitmapFactory.decodeResource(getResources(),resId,options); return bf; }}

7、图像资源

8、字符串资源

strings.xml 

安卓资源管理
资源管理主窗体
字符串资源管理
尺寸资源管理
图像资源管理
颜色资源管理
样式资源管理
XML资源管理
获取字符串信息1
获取字符串信息2
获取字符串信息3
北京
上海
广州
珠海

mystring.xml

操作成功
操作失败
%1$s,您好,欢迎您进入%2$s

 

转载于:https://www.cnblogs.com/zn615/p/8168893.html

你可能感兴趣的文章
字符串处理
查看>>
ECharts(Enterprise Charts 商业产品图表库)初识
查看>>
LeetCode Factorial Trailing Zeroes (阶乘后缀零)
查看>>
hdu 5402 Travelling Salesman Problem (技巧,未写完)
查看>>
[AIR] 获取U盘,打开U盘
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>
获得进程可执行文件的路径: GetModuleFileNameEx, GetProcessImageFileName, QueryFullProcessImageName...
查看>>
证件照(1寸2寸)拍摄处理知识汇总
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>
asp.net 获取IP地理位置的几个主要接口
查看>>
Python入门-函数
查看>>
[HDU5727]Necklace(二分图最大匹配,枚举)
查看>>
距离公式汇总以及Python实现
查看>>
设计模式之装饰者模式
查看>>
【转】Linux内核调试方法总结
查看>>
一道不知道哪里来的容斥题
查看>>
Blender Python UV 学习
查看>>
window添加右键菜单
查看>>