zoukankan      html  css  js  c++  java
  • 整理出来的一些Android基础知识

    // 去掉顶部的title
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    requestWindowFeature(featrueId),它的功能是启用窗体的扩展特性

    对于requestWindowFeature具体介绍,请参考下面博文:

    Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)

    // 全屏:去掉顶部所有包括title
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setBackgroundResource,setBackgroundDrawable以及android:background
    很多网友不知道View类提供的setBackgroundDrawable和setBackgroundResource的区别是什么,同时 Android View类很多子类比如TextView、ImageView中都有这些方法,同时还有一些类似setImageDrawable、setImageBitmap和setImageResource()这些方法的不同之处。
    一、setBackgroundXXX的用处,设置这个View背景。
      setBackgroundDrawable 的参数为Drawable对象
      setBackgroundColor 的参数为Color对象,比如说Color.Red为红色,或Color.rgb(255,0,0) 来制定一个红色
      setBackgroundResource 的参数为资源ID,比如说R.drawable.icon
    二、对于ImageView类有类似 setImageXXX
      道理同上,setImageBitmap的参数为Bitmap对象,同时ImageView还支持矩阵对象,比如setImageMatrix的参数为Matrix对象。
    三、有关Bitmap和Drawable之间的转换可以查看Bitmap和Drawable相互转换方法

    我们以ImageButton为例,设置其背景有三种不同的方式:

    (1).静态方式,在xml文件中定义:android:background="@drawable/icon"

       我们要区别android:background和android:src的区别,android:src是针对ImageButton有的,

       是ImageButton资源图片,代表了该控件,而android:background是背景,可以是图片,还可以是

       "#FF0000"等颜色控制

    (2).在代码中用setBackgroundResource设置:

    ibt.setBackgroundResource(R.drawable.icon)

    (3).用setBackgroundDrawable设置:

    Resources rs = getResources();
    Drawable dr = rs.getDrawable(R.drawable.icon);
    ibt.setBackgroundDrawable(dr);

    上面静态和动态的方法,我们还可以联想到控件不同状态的处理,比如普通状态,焦点状态,按下状态,我们都可以设置不同状态下不同的控件背景。

    静态方法就是android:background="@drawable/son_button_style",而son_button_style是在drawable下的xml文件,通过selector来定义不同状态下的背景显示。

    动态方法就是监听控件的onClick事件和onFocus事件,在事件处理中通过不同状态调用setBackgroundResource,setBackgroundDrawable来设置不同背景。

    对于处理控件不同状态时候显示不同背景还有字体颜色的处理等等,我们都可以在DV6300-T的MENU菜单界面处理看到,可以参考相关源码,也可以查看下面的博文:

    修改Button选中,按下后字体的颜色

    Android自定义控件外观 

    取得手机屏幕大小DisplayMetrics的应用
    DisplayMetrics metrics;
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    metrics.widthPixels  //屏幕分辨率宽
    metrics.heightPixels //屏幕分辨率高
    metrics.density     //屏幕密度

  • 相关阅读:
    Webpack教程二
    Webpack教程一
    整个互联网行业都缺前端工程师?
    Sublime Text 3 搭建 React.js 开发环境
    Javascript的9张思维导图学习
    实现字体外部有描边
    CSS样式重置
    vue使用过滤器 filters:{}
    修改select的默认样式
    onmouseover和onmouseout鼠标移入移出切换图片的几种实现方法
  • 原文地址:https://www.cnblogs.com/sp5i5s/p/2455113.html
Copyright © 2011-2022 走看看