安卓六 安卓资源文件

Android 应用的资源

  • 布局
  • 颜色
  • 数据
  • 图片
  • 尺寸
  • 主题样式
  • 菜单
  • 国际化

字符串资源

  1. 定义字符串资源文件
  2. 使用资源文件

module/res/values/strings.xml

<resources>
<string name="xxx">xxxxx<string>
</resources>

使用时

xml中 @string/name

java中 getResources().getString(R.string.name)

颜色资源

透明度 + RGB --> #透明度RGB

  1. 定义颜色资源
  2. 使用颜色资源

res/values/colors.xml

<resources>
<color name="xxx">#xxxx</color>
</resources>

使用时

xml中 @color/name
java中 getResources().getColor(R.color.name)

尺寸资源

dp sp

dp 设备独立像素,会根据屏幕大小自动调整

sp 可伸缩像素,会适配手机字体大小缩放

  1. 定义尺寸资源文件
  2. 使用尺寸资源文件

res/values/dimens.xml

<resources>
<dimen name="xxx">xxxdp</dimen>
<dimen name="xxx">xxxsp</dimen>
</resources>

xml中使用 @dimen/name
java中getResources().getDimension(R.dimen.name)

布局资源

res/layout/xxx.xml

使用

xml中使用 <include layout="@layout/xxx"></include>
java中使用 R.layout.xxxxx

数组资源

  1. 创建
  2. 使用

res/values/arrays.xml

<array>
  <item></item>
</array>
<integer-array>
  <item></item>
</integer-array>
<string-array>
  <item></item>
</string-array>

xml中使用 用于entries属性="@array/name"
javaz中使用getResources().getStringArray(R.array.name)

Deawable 资源

  • 图片
  • xml

res/drawable-hdpi/mdip/xhdpi/xxhdpi/xxxhdip

图片资源 png jip gif .9.png
.9.png

StateListDrawable资源

根据状态改变图片的显示方式 选中未选中 按下和抬起

res/drawable/xxx.xml

<selector>
  <item android:state_focused="true" android:color="#f60"/>
  <item android:state_focused="false" android:color="#0a0"/>
</selector>

xml使用@drawable/xxx

编辑框添加change事件监听器

editText.addTextChangedListener(new TextWatcher(){
  @Override
  public void beforeTextChanged(ChrSequence s,int start,int count,int after){

  }
  @Override
  public void onTextChanged(CharSquence s,int start ,int before, int count){

  }

})

mpmap资源

通常保存app的启动图片

在xml中 @mipmap/name直接使用

在java中 直接R.mipmap.name使用

mipmap和drawable的区别?

mipmap 仅仅用于app的启动图标

drawable是app运行中使用的图片资源

主题资源

设置窗口的整体样式

布局设置 appTheme按钮 可以设置 系统自带的主题

自定义主题?

  1. 定义主题资源文件
  2. 使用主题资源文件

res/values/styles.xml

<resources>
  <style name="ThemeName" parent="@style.AppTheme">
    <item name="android.windowNoTitle">false</item>
    <item name="android.windowBackground">@drawable/name</item>
  </style>
</resources>

使用主题

  1. 在配置文件中配置
  2. 在Java文件中加载

配置文件:为整个app设置全局主题 那么在 application 标签上设置 如果只是某个窗口 那么就在 activity标签上配置主题 android:theme="@style/name"

java中使用,要在 setContentView之前使用

setTheme(R.style.name)

样式资源

res/values/styles.xml

<resources>
  <style name="styleName">
    <item name="android:textSize">30sp</item>
    <item name="android:textColor">#06F</item>
  </style>
  <style name="styleName2" parent="@style/styleName" >
    <item name="android:textSize">20sp</item>
  </style>
</resources>

一般在xml中使用:

style="@style/stylename"

菜单资源

菜单资源文件 — 定义菜单项

res/menu/menu_name.xml

<menu>
  <item android:id="@+id/m1" android:title="菜单一"></menu>
  <item android:id="@+id/m2" android:title="菜单二"></menu>
  ...
</menu>

选项菜单

在Java中

// 重写Activity中的方法创建选项菜单
@Override
public boolean onCreateOptionsMenu(Menu menu){
  MenuInflater menuInflater = new MenuInflater(this);
  menuInflater.inflate(R.menu.name,nemu);
  retrun menuInflater;
}
// 对各个菜单项进行处理
@Override
public boolean onOptionsItemSelected(MenuItem item){
  switch(item.getItemId()){
    case R.id.m1:
      doSomeThing...
      break;
    case R.id.m2:
      doSomeThing...
      break;
  }
  retrun super.onOptionsItemSelected(item);
}

上下文菜单

  1. 为组件注册上下文菜单
  2. 添加上下文菜单
  3. 指定菜单项被选择时所应做的处理
// 为xxxView组件注册上下文菜单
registerForContextMenu(xxxView);
// 重写创建上下文菜单的方法
@Override
public viod onCreateContextMenu(ContextMenu menu,View v,ContextMenu.ContextMenuInfo menuInfo){
  // 加载菜单资源
  MenuInflater menuinflater = new MenuInflater(this);
  menuinflater.inflate(R.menu.name,menu);
}
// 重写上下文菜单被选中的事件
@Override
public boolean onContextItemSelected(MenuItem item){
  switch(item.getItemId()){
    case R.id.m1:
      doSomeThing..
      break;
    case R.id.m2:
      doSomeThing..
      break;
  }
  return true;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值