Android Studio
1.在使用AS build的时候,如果遇到什么bug之类的问题,经常会卡死在building上,一直就在那里building,要是点了stop,又卡在stop那里,这时候除了关AS,也没什么好办法。
但是我发现可以在命令行里关闭gradle任务:在Terminal中输入gradlew --stop
,就把任务停止了。
2.在Android Studio里面配置多渠道打包:
- 首先,在
manifest
文件中,配置你的渠道名,使用一个变量来代替,我这里是设置的友盟的渠道名:
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" >
- 然后,在
app.gradle
的android
闭包下面,加上productFlavors
闭包:
productFlavors {
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
}
360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "360"]
}
baidu {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
}
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
}
这样就配置了你的输出偏好,就可以在打包的时候选择渠道了:
选中几个他就会打几个包。
Android UI
1.在TextView的文字中加入一些效果,比如中间插入图片,前后字体大小或颜色不一样等,可以用SpannableString或者SpannableStringBuilder来实现,具体操作如下:
//SpannableString和SpannableStringBuilder都是继承自CharSequence,所以可以直接被setText
SpannableString str = new SpannableString("¥20.0");
//创建一个改变字体大小的Span
AbsoluteSizeSpan sizeSpan = new AbsoluteSizeSpan(25);
//将span应用到str中
str.setSpan(sizeSpan,0,1,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
textView.setText(str);
SpannableStringBuilder的使用方法和SpannableString基本一样,区别是可以append。
可以多次使用setSpan,可以给span添加点击事件,功能非常强大,这里不多说了
可以参考这个博客
2.控制EditText中不能输入汉字,可能有多种方式,我这里记录一种:
- 写一个string,如下
<string name="password">0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._@#$%^*</string>
- 在EditText中引用这个string
android:digits="@string/password"
这样就控制了这个输入框只能输入这个正则表达式内的字符了。