component: 

  • EditText
    //去掉自带下划线android:background="@null"//Hint字体效果android:textColor="#FFF"android:textColorHint="#C2C2C2"android:textCursorDrawable="@null"//光标从右边/中间输入//因为gravity代表了光标的位置,所以就不能通过gravity来控制Hint在EditView中的位置了,只能用layout_marginTop曲线救国android:gravity="right/center" 或者 editText.setGravity(Gravity.RIGHT/CENTER);
  • TextView
    //跑马灯效果android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever"/>textView.setSelected(true);
  • 自定义AlertDialog
    LayoutInflater inflater = LayoutInflater.from(this);View v = inflater.inflate(R.layout.my_dialog, null);AlertDialog.Builder builder= new AlertDialog.Builder(this,R.style.MyDialogStyle);final Dialog dialog= builder.create();dialog.show();dialog.getWindow().setContentView(v); //自定义布局要在dialog.show()的后面//dialog.getWindow().setGravity(Gravity.CENTER); //可以设置显示的位置,默认居中Button btn= v.findViewById(R.id.btn);btn.setOnClickListener(...);
  • ScrollingTabsView : 左右滑动切换标签界面
  • NavigationView :
    //修改menu默认选中子项nv.getMenu().getItem(0).setChecked(true);//修改menu子项颜色//新建res/color/selector_nv.xml, 注意一定要在color文件夹下//注意排序很关键,因为它们是按顺序被评估的,所以default才在最下面<?xml version="1.0" encoding="utf-8"?>                                Resources resource = (Resources)getBaseContext().getResources();ColorStateList csl = resource.getColorStateList(R.color.selector_nv);nv.setItemTextColor(csl);
  • SearchView : 更详细可以看 MaterialDesign之SearchView全面解锁
    //不自动弹出输入法sv.clearFocus();//searchView样式sv.onActionViewExpanded(); //区别不大, 不用多看Class<?> c = sv.getClass();    try {        Field f=c.getDeclaredField("mSearchPlate");//通过反射,获得类对象的一个属性对象        f.setAccessible(true);//设置此私有属性是可访问的        View v=(View) f.get(sv);//获得属性的值        v.setBackgroundResource(R.drawable.shape_color_grey);//设置此view的背景    } catch (Exception e) {        e.printStackTrace();    }        //搜索事件,返回值默认为false, 有操作则改成truesv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {    //输入内容后,点击[搜索]才开始搜索    @Override    public boolean onQueryTextSubmit(String s) { return false; }                //搜索框有内容后就自动搜索    @Override    public boolean onQueryTextChange(String s) {return false; }});
    //内嵌在toolBar中的SearchView

     

  •  

 

Style: 

  • dp / px / dpi

若一个屏幕分辨率是1920*1080

则该屏幕长为1920px,宽为1080px,对角线为√(1080*1080+1920*1920)≈  2203px

如果屏幕尺寸为5寸,则dpi为2203px / 5 ≈ 441dpi

则屏幕长为1920/(441/160)= 697dp,宽为1080/(441/160)= 392dp

  • dpi & ppi:每英寸容纳像素数量,即像素密度(android叫dpi,ios叫ppi(pixels per inch),一个意思)

iPhone(6~7) 宽为 2.3 英寸,高为 4.1 英寸,根据勾股定理得出这块屏幕的尺寸(屏幕对角线距离)是 4.7 英寸。iPhone(6~7) 屏幕宽(每行)有 750 个像素(发光点),高(每竖)有 1334 颗像素(发光点)。                                       

可以知道这台iPhone的分辨率为1334*750,像素密度为1334/4.1 = 750/2.3 ≈ 326ppi 

补充:

脱离屏幕的大小讨论分辨率是没有意义的

现在有一只手机和一台电视,他们都是 1080P 分辨率,拥有 1920 x 1080 个总像素点。但是你觉得手机屏幕好像清楚的不得了,而电视屏幕凑近看全是类似马赛克的点。这是因为因为当屏幕尺寸被放大了,倘若分辨率不变,那么每一颗像素也必须得变大。于是就会造成这样的问题:一个像素点,在你的手机上只有一粒灰尘大小,而在电视上,可能大过一粒米。

所以光看屏幕的分辨率对于设计师来说是不具备多少实际意义的,通过分辨率计算得出的像素密度(PPI)才是设计师要关心的问题,我们通过屏幕分辨率和屏幕尺寸就能计算出屏幕的像素密度的。

 

  • TextViewStyle
    // 项目中出现过个问题, 所有的text都是灰色, 然后用以下方法解决的在style里面添加:@style/MyTextViewStyle
  • ImageView
    tint属性可以将图片整体换颜色,常用在同样形状但是不同颜色的btn上
  • ActionBarSize
    定制ActionBar高度style.xml加入注意: 需要miniSDKVersions>11, 或者新建一个valuse-vXX/style.xml, XX>11获取ActionBar高度TypedArray actionbarSizeTypedArray =                 context.obtainStyledAttributes(new int[] {android.R.attr.actionBarSize});float h = actionbarSizeTypedArray.getDimension(0, 0);
  • Color
    values新建colors.xml<?xml version="1.0" encoding="utf-8"?>    #ae5da1引用方式: @color/colorButtonBlue
    常见透明度值: (0->100, 越来越看不见)0%=FF    5%=F2    10%=E5    15%=D8    20%=CC25%=BF    30%=B2    35%=A5    40%=99    45%=8c50%=7F    55%=72    60%=66    65%=59    70%=4c75%=3F    80%=33    85%=21    90%=19    95%=0c    100%=00使用方法:加到色值前, 如#FF222222,#59333333
  •  Shape 自定义形状
    //外部配置 //环的厚度    。。。//内部配置             //虚线宽度                                        //只用于矩形上设置圆角                
  •  Vector (SVG) 自定义圆形
      //填充色,不加属性默认为不填充 参数含义:M 24 24 (起始点)    A(代表要画弧)      10 10 (x, y 轴半径)0 (x轴旋转角度, 没懂)1 (0/1-小/大弧度) : 给定一个起终点和半径, 能画出2种弧. 优弧(1)和劣弧(0)0 (0/1-逆/顺时针)24  23.999 (弧的起终点不能是同一点, 因为同一点之间无法构成线)

 

四大组件

  • 自定义广播
    sendBroadcast(new Intent(getApplication(),MyBroadcastReceiver.class));//manifest添加
  •  

更多相关文章

  1. Android App更改背景颜色
  2. C语言在屏幕上显示内容
  3. C#根据表格偶数与奇数加载不同颜色的实例分析
  4. c语言颜色代码
  5. go语言如何改变回显颜色
  6. 详细介绍使用XML资源文件来定义颜色,样式等
  7. Android color(颜色) 在XML文件和java代码中的代码详细介绍
  8. 关于定义颜色的10篇文章推荐
  9. 这是个超棒的jQuery颜色选择器

随机推荐

  1. android 公共顶部栏
  2. cordova3+sencha touch2.x 环境搭建
  3. Android(安卓)Local语言设置
  4. 文件指针/句柄(FILE*)、文件描述符(fd)以及
  5. Android(安卓)对话框详解(一)
  6. Android开发之去掉title的三种方法
  7. 查看 android 现在有什么分支
  8. 搭建 Android(安卓)开发环境,初试HelloWor
  9. 显示gif动画(帧动画的播放)
  10. android如何保留小数点后x位数字