欢迎使用CSDN-markdown编辑器

代码积累

编程习惯

  • 项目中完成一个模块后自己要点一下,走完一个流程
  • 有改变的地方一定要和上级以及同组沟通
  • 需要新的类时,要继承基类,实现自己的方法.
  • 在实现一个功能或者效果前,要沟通,确定效果后,在开始,避免一次次的修改返工
  • 新增的内容写备注,修改的bug也要备注自己的修改方法以及思路

- 再提交前.一定要自己运行一下 不要提交有问题的版本

1. 设置margin

LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(10, 20, 30, 40);
imageView.setLayoutParams(lp);

2. shap使用

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/exam_button_color"></solid>
<stroke android:color="@color/exam_button_color"></stroke>
<corners android:radius="5dp"></corners>
</shape>
//--------------------------华丽丽的分隔线--------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape=["rectangle" | "oval" | "line" | "ring"] >   --- 默认为rectangle
<corners  -- shape=“rectangle”时使用, 
android:radius="integer"  -- 半径,会被下边的属性覆盖,默认为1dp,
android:topLeftRadius="integer" 
android:topRightRadius="integer"
android:bottomLeftRadius="integer"
android:bottomRightRadius="integer" />
<gradient  -- 渐变
android:angle="integer"
android:centerX="integer"
android:centerY="integer"
android:centerColor="integer"
android:endColor="color"
android:gradientRadius="integer"
android:startColor="color"
android:type=["linear" | "radial" | "sweep"]
android:useLevel=["true" | "false"] />
<padding
android:left="integer"
android:top="integer"
android:right="integer"
android:bottom="integer" />
<size-- 指定大小,一般用在imageview配合scaleType属性使用。大小一般会适配滴
android:width="integer"
android:height="integer" />
<solid-- 填充颜色,可是是十六进制颜色。(比如想设置半透明效果,直接使用十六就只就OK)
android:color="color" />
<stroke-- 指定边框,border,dashWidth和dashGap有一个为0dp则为
android:width="integer"
android:color="color"
android:dashWidth="integer"-- 虚线宽度
android:dashGap="integer" />-- 虚线间隔宽度
</shape>
  • 左边圆角,右面直角的效果

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
      <shape 
    android:shape="rectangle">
    <solid android:color="#FF0000" />
    <corners android:radius="30dp"/>
    </shape>
       </item>
    
       <item android:left="30dp"
    >
      <shape 
    android:shape="rectangle">
    <solid android:color="#FF0000" />
    </shape>
       </item>
    
    </layer-list>
    

3. selector使用

`<?xml version="1.0" encoding="utf-8" ?>     


//默认时的背景图片–>

// 没有焦点时的背景图片 –>

android studio 使用

sp,dp 和 px

  • apk的资源包中,当屏幕density=240时使用hdpi标签的资源
  • 当屏幕density=160时,使用mdpi标签的资源
  • 当屏幕density=120时,使用ldpi标签的资源。
  • 在每英寸160点的显示器上,1dp = 1px。

下面是几种不同单位的相互转换.

public static int dip2px(Context context, float dipValue){ 
final float scale = context.getResources().getDisplayMetrics().density; 
return (int)(dipValue * scale + 0.5f); 
} 
public static int px2dip(Context context, float pxValue){ 
final float scale = context.getResource().getDisplayMetrics().density; 
return (int)(pxValue / scale + 0.5f); 
} 

下面说下如何获取分辨率:

在一个Activity的onCreate方法中,写入如下代码:
    DisplayMetrics metric = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metric);
    int width = metric.widthPixels;  // 屏幕宽度(像素)
    int height = metric.heightPixels;  // 屏幕高度(像素)
    float density = metric.density;  // 屏幕密度(0.75 / 1.0 / 1.5)
    int densityDpi = metric.densityDpi;  // 屏幕密度DPI(120 / 160 / 240)

JSON

  • [] jsonArray
  • {}jsonObject
  • json的解析
    • JSONTokener
    • JsonReader JsonReader reader = new JsonReader(new StringReader(jsonData));

时间显示控件

  • android:datePickerMode=”spinner”//可显示数字界面
  • 在activity里添加theme android:theme=”@style/horizontal_slide”//显示可滑动的 日期选择

Android Studio 误删除了项目文件.iml

  • Android Studio 误删除了项目文件.iml 导致项目中看不到项目的src 和其他drawable文件
  • 解决方法如下
  • Build -> Ant Build -> OK 即可生成2个文件,.properties .xml 然后运行项目即可自动还原原来的文件

  • startActivityForResult();

  • onActivityResult(); 这个回调方法,能接收从这个页面启动页面的返回值(setResult()),如果,他启动的界面被关掉,后重启,再返回的话就不能接收到返回的Intent了

EidtText 属性

  • android:digits=”1234567890.+-/% ()”设置允许输入哪些字符。如“1234567890.+-/% ()”

隐藏软键盘

void hideSoftKeyboard() {
    InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    if (ChooseSysUserActivity.this.getWindow().getAttributes().softInputMode != WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN) {
        if (ChooseSysUserActivity.this.getCurrentFocus() != null)
            inputMethodManager.hideSoftInputFromWindow(ChooseSysUserActivity.this.getCurrentFocus().getWindowToken(),
                    InputMethodManager.HIDE_NOT_ALWAYS);
    }
}

SVN中的branches tag 以及trunk

  • trunk 主干,一般来说就是开发的主要呆的地方
  • tag 在经过了一段时间的开发后,项目到达了一个里程碑阶段,你可能想记录这一阶段的代码的状态,那么你就需要给代码打上标签。
  • branches 当多个人合作,可能有这样的情况出现:John突然有个想法,跟原先的设计不太一致,可能是功能的添加或者日志格式的改进等等,总而言之,这个想法可能需要花一段时间来完成,而这个过程中,John的一些操作可能会影响Sally的工作,John从现有的状态单独出一个project的话,又不能及时得到Sally对已有代码做的修正,而且独立出来的话,John的尝试成功时,跟原来的合并也存在困难。这时最好的实践方法是使用branches。John建立一个自己的branch,然后在里面实验,必要的时候从Sally的trunk里取得更新,或者将自己的阶段成果汇集到trunk中。

合并代码

  • 与某一个版本里面的代码比较不同,将代码合并在一起

借鉴drawable文件夹,使用dimens控制字体大小、边距大小。适配Android不同机型,不同屏幕

http://blog.csdn.net/xqiitan/article/details/45193689

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值