资源文件在AndroID Studio 中自动创建到res目录下,下面进行详细介绍。
一、字符串资源1、定义字符串资源文件:写在res/values/strings.xml文件中的<string>里。
2、使用字符串资源① 在XML文件中 @string/stringname
② 在Java文件中,获取资源并设置到当前的imageVIEw中。
imageVIEw.setText(getResources().getString(R.string.stringname));二、颜色资源1、定义:
其中,每一项都有1或2位0~F的十六进制组成,其中,透明度这项可以省略。
同时,AndroID Studio为我们提供了更简便的获取颜色办法。
2、颜色资源文件① 定义颜色资源文件写在res/values/colors.xml文件中的<color>里。
② 使用颜色资源① 在XML文件中 @color/stringname
② 在Java文件中,获取资源并设置到当前的TextVIEw中。
//要求最小sdk版本23textVIEw.setTextcolor(getcolor(R.color.colorname));//下面常用textVIEw.setBackground(getResources().getcolor(R.color.bgcolor));三、尺寸资源
AndroID中常用的尺寸单位为dp和sp,为可伸缩像素。
dp:常用来作为边距和组件大小的单位。
sp:常用来作为字体大小的单位。
① 定义尺寸资源文件写在res/values/dimens.xml文件中的<dimen>里。在新版本AndroID Studio中不自动生成,可以手动添加。
② 使用尺寸资源① 在XML文件中 @dimen/dimenname
② 在Java文件中,获取资源并设置到当前的TextVIEw中。
textVIEw.setTextSize(getResources().getDimension(R.dimen.dimenname));四、布局资源① 定义尺寸资源文件
写在res/layout文件下。
② 使用尺寸资源① 在XML文件中 ,适用于一个布局文件需要包含另一个布局文件的情况下。
<include layout="@layout/name"></include>
② 在Java文件中,通过 setContentVIEw(R.layout.name)完成。
五、数组资源① 定义尺寸资源文件写在res/values文件下,由于AndroID Studio没有自动创建,所以需要手动创建。
主要有三个子元素可供数组资源定义,分别是:
① <array>子元素:内容可以是颜色,字符串,尺寸资源。
② <integer-array>子元素:整型数组
③ <string-array>子元素:字符串数组
定义如下:
<?xml version="1.0" enCoding="utf-8"?><resources> <string-array name="Listitem"> <item>字符串1</item> <item>字符串2</item> <item>字符串3</item> </string-array></resources>② 使用尺寸资源
① 在XML文件中 ,一般用于下拉列表或列表视图中。
例如在ListVIEw中:
<ListVIEw entrIEs="@array/Listitem" />
② 在Java文件中,通过 setContentVIEw(R.layout.name)完成。
String[] arr = getResource().getStringArray(R.array.Listitem);六、drawable资源
不仅包括图片资源(图像文件、9patch,shape,StateListDrawable),也包括一些xml文件,也叫做StateListDrawable资源。
注意,AndroID中不允许图片资源的文件名中出现大写字母,且不能以数字开头。
StateListDrawable资源是定义在xml文件中的Drawable对象,根据状态呈现不同的界面。
创建文件edittext_focused.xml
<?xml version="1.0" enCoding="utf-8"?><selector xmlns:androID="http://schemas.androID.com/apk/res/androID"> <!-- state下,提供了很多状态,这里选用的焦点的得到或失去 --> <item androID:state_focused="true" androID:color="#f60"/> <item androID:state_focused="false" androID:color="#0a0"/></selector>
在xml文件中使用 :@drawable/edittext_focused。
七、mipmap资源定义:主要是保存icon图片,应用程序的启动图标,加载渲染速度更快。
其他方面与drawable大致相同。
八、主题资源。定义:主题资源是指定义界面主题的资源,设置窗口的整体样式,改变所有窗口外观的资源,在AndroID Studio 中通过这样可以找到默认添加的主题资源。
有很多主题风格可供选择,可以自己探索。
除了这些系统自带的资源,我们也可以自定义主题资源。
如何使用资源文件?1、创建主题资源在AndroID Studio res/values/style.xml文件中的<resource>中插入如下代码。
<style name="bgtheme" parent="@style/Apptheme"> <!-- 设置不显示标题栏为false,即显示标题栏 --> <item name="androID:windowNoTitle">false</item> <!--设置背景图片--> <item name="androID:windowBackground">@drawable/img05</item></style>2、使用主题资源
① 在AndroIDManifest.xml中使用
我们可以为整个app设置主题,使用<application>下的<theme>,更改为我们写好的主题即可。
② 在Java中使用
//主题资源设置在contentVIEw前面settheme(R.style.bgtheme);setContentVIEw(R.layout.activity_main);九、样式资源
主要用来设置不同的文字样式,颜色大小风格等。
主题和样式同样都设置在style.xml文件中,区别是:主题是设置整个APP或窗口的样式,而该资源是设置组件的样式。
<!--可以自定义名称--> <style name="Title"> <item name="androID:textSize">30sp</item> <item name="androID:textcolor">#06F</item> </style>
可在布局xml文件中设置样式。
<>
同时,有个继承样式需要注意,例如该content继承自之前的Title。
<style name="content" parent="Title"> <item name="androID:textSize">16sp</item>
<item name="androID:textStyle">bold</item>
<item name="androID:layout_gravity">center_horizontal</item>
</style>
这里content具备Title的所有属性,但若在content中重新定义了textSize,则以该定义为准。
十、菜单资源提供菜单选择的资源,分为选项菜单和上下文菜单,通常需要我们手动添加到 AndroID Studio 的res目录下新建的menu目录中。
然后添加代码如下,创建菜单项。
<?xml version="1.0" enCoding="utf-8"?><menu xmlns:androID="http://schemas.androID.com/apk/res/androID"> <!-- 增加菜单项 --> <item androID:ID="message" androID:title="1"></item> <item androID:ID="message" androID:title="2"></item> <item androID:ID="message" androID:title="3"></item></menu>1、选项菜单
调出方法:单击手机菜单键或点击APP右上方3个小圆点。
//完成跳出菜单并根据选择的菜单选项跳转到指定的界面 //第三步:重写onCreateOptionsMenu()方法,添加一个选项菜单 @OverrIDe public boolean onCreateOptionsMenu(Menu menu) { MenuInflater menuInflater = new MenuInflater(this); menuInflater.inflate(R.menu.menu,menu); return super.onCreateOptionsMenu(menu); } //第四步:重写onoptionsItemSelected()方法,指定各个菜单被选项时,所应做的处理 @OverrIDe public boolean onoptionsItemSelected(@NonNull MenuItem item) { switch (item.getItemID()){ case R.ID.settings: Intent intent1= new Intent(MainActivity.this,Setting.class); startActivity(intent1); break; case R.ID.regard: Intent intent2= new Intent(MainActivity.this,regard.class); startActivity(intent2); break; } return super.onoptionsItemSelected(item); }2、上下文菜单
长按实现上下文菜单,前面博客文章有过介绍,不再赘述。
总结以上是内存溢出为你收集整理的Android应用的资源全部内容,希望文章能够帮你解决Android应用的资源所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)