效果图:

1、activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="@dimen/activity_tile"
android:text="@string/main_title" />
<Button
android:id="@+id/btn1"
android:textSize="@dimen/activity_btn_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/main_btn_one"
/>
<Button
android:id="@+id/btn2"
android:textSize="@dimen/activity_btn_text"
android:text="@string/main_btn_two"
android:layout_width="@dimen/btn_width"
android:layout_height="@dimen/btn_height"
/>
<Button
android:id="@+id/btn3"
android:textSize="@dimen/activity_btn_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/main_btn_three"
/>
</LinearLayout>

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

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_string"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/string_btn_1"
android:onClick="test_1"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/string_btn_2"
android:onClick="test_2"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/string_btn_3"
android:onClick="test_3"
/>
</LinearLayout>

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

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_bit_map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="80dp"
android:layout_height="120dp"
android:src="@drawable/b5"
/>
<ImageView
android:id="@+id/image_1"
android:layout_width="80dp"
android:layout_height="120dp"
/>
<ImageView
android:id="@+id/image_2"
android:layout_width="80dp"
android:layout_height="120dp"
/>
<ImageView
android:id="@+id/image_3"
android:layout_width="80dp"
android:layout_height="120dp"
/>
<ImageView
android:id="@+id/image_4"
android:layout_width="80dp"
android:layout_height="120dp"
/>
</LinearLayout>

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 

<resources>
<string name="app_name">安卓资源管理</string> <!--自定义APP中字符串-->
<string name="main_title">资源管理主窗体</string>
<string name="main_btn_one">字符串资源管理</string>
<string name="main_btn_two">尺寸资源管理</string>
<string name="main_btn_three">图像资源管理</string>
<string name="main_btn_four">颜色资源管理</string>
<string name="main_btn_five">样式资源管理</string>
<string name="main_btn_six">XML资源管理</string> <!--StringActivity_String-->
<string name="string_btn_1">获取字符串信息1</string>
<string name="string_btn_2">获取字符串信息2</string>
<string name="string_btn_3">获取字符串信息3</string> <string-array name="citys">
<item>北京</item>
<item>上海</item>
<item>广州</item>
<item>珠海</item>
</string-array>
</resources>

mystring.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_success_message">操作成功</string>
<string name="app_error_message">操作失败</string>
<string name="app_sayhello_message">%1$s,您好,欢迎您进入%2$s</string>
</resources>

Android开发---如何操作资源目录中的资源文件的更多相关文章

  1. Android开发---如何操作资源目录中的资源文件4 ---访问xml的配置资源文件的内容

    Android开发---如何操作资源目录中的资源文件4 XML,位于res/xml/,这些静态的XML文件用于保存程序的数据和结构. XmlPullParser可以用于解释xml文件 效果图: 描述: ...

  2. Android开发---如何操作资源目录中的资源文件3--圆角边框、背景颜色渐变效果、边框颜色

    Android开发---如何操作资源目录中的资源文件3 效果图 1.圆角边框 2.背景颜色渐变效果 1.activity_main.xml 描述: 定义了一个shape资源管理按钮 <?xml ...

  3. Android开发 ---如何操作资源目录中的资源文件2

    Android开发 ---如何操作资源目录中的资源文件2 一.颜色资源管理 效果图: 描述: 1.改变字体的背景颜色 2.改变字体颜色 3.改变按钮颜色 4.图像颜色切换 操作描述: 点击(1)中的颜 ...

  4. Android开发 ---如何操作资源目录中的资源文件5 ---Raw资源管理与国际化

    效果图: 1.activity_main.xml 描述: 定义两个按钮,一个是Raw资源管理,一个是处理国际化语言,其中i18n表示简体中文 <?xml version="1.0&qu ...

  5. android开发之-查看、编辑手机sqlite数据库文件-实测

    效果图: 1.开始——运行——输入cmd ,输入adb shell,错误:一是“adb不是内部命令或外部命令,也不是可运行的程序或批处理文件”,二是“error:device not found”. ...

  6. 在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world

    一.题目 编写一个内核模块,在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world.内核版本要求2.6.18 二.实验环境 物理主机:w ...

  7. 创建一个目录info,并在目录中创建一个文件test.txt,把该文件的信息读取出来,并显示出来

    /*4.创建一个目录info,并在目录中创建一个文件test.txt,把该文件的信息读取出来,并显示出来*/ #import <Foundation/Foundation.h>#defin ...

  8. python实现在目录中查找指定文件的方法

    python实现在目录中查找指定文件的方法 本文实例讲述了python实现在目录中查找指定文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 模糊查找 代码如下: import os from ...

  9. 如何查找一个目录中所有c文件的总行数

    如何查找一个目录中所有c文件的行数 面试题问到了一题,如何统计wc文件夹下所有文件的行数,包括了子目录. 最后在 https://blog.csdn.net/a_ran/article/details ...

随机推荐

  1. exam_review to M1

    1. 情态动词,尤其是can/can’t,should/shouldn’t. for example: You should have washed the wound.你应该已经洗好了伤口 Well ...

  2. 20181013xlVba据成绩条生成图片文件

    Sub CreateGoalPictures() '声明变量 Dim Wb As Workbook Dim Sht As Worksheet Dim Shp As Shape Dim Pic, End ...

  3. CentOS7 下源代码安装apache2.4

    Apache httpd 2.4 源代码安装   https://httpd.apache.org/docs/2.4/install.html   这里选用Apache2.4版本. wget http ...

  4. spring boot 2.0(一)权威发布spring boot2.0

    Spring Boot2.0.0.RELEASE正式发布,在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误,然后Spring ...

  5. leetcode-algorithms-3 Longest Substring Without Repeating Characters

    leetcode-algorithms-3 Longest Substring Without Repeating Characters Given a string, find the length ...

  6. MIR7预制发票扣除已经预制的数量(每月多次预制,未即时过账)

    业务场景见抬头,有没有标准的解决方案就不说了,也没去考虑... 这个增强还是SAP老表提供的,感谢,省了不少时间. INCLUDE:LMR1MF6S 最后的位置 ENHANCEMENT ZMIR7_0 ...

  7. 12. Integer to Roman C++

    直接将各个数位上每个数所代表的罗马数字表示成字符串数组,然后提取出num的各位数,将对应的string相加 class Solution { public: string intToRoman(int ...

  8. ECharts 报表事件联动系列一:刷新页面

    本示例实现了以下功能: 1.点击刷新按钮,仅刷新柱状图,而不是整个页面 2.点击柱状内容刷新柱状图,并更新title 3.点击X轴,Y轴更新title,并弹出alert. 源码代码如下: <!D ...

  9. 一、集合框架(Collection和Collections的区别)

    一.Collection和Map 是一个接口 Collection是Set,List,Queue,Deque的接口 Set:无序集合,List:链表,Queue:先进先出队列,Deque:双向链表 C ...

  10. Const的使用

    const意味为readonly,即只读,const可被施加于任何作用域内的对象,函数参数,函数返回类型,成员函数本体 使用: const修饰变量时本质是 const在谁后面谁就不可修改,const在 ...