Android的零散知识

一、为什么Android的更新试图操作必须在主线程中进行?
这是因为Android系统中的视图组件并不是线程安全的。通常应该让主线程负责创建、显示和更新UI,启动子线程,停止子线程。让子线程完成计算并向主线程发出更新UI的消息,让主线程来更新UI。这就促使Android中产生了Handler机制。

二、如何更改Android Studio编译所采用的API版本?
通过module setting 的Flavors选项卡进行Android API编译版本的更改;

三、EditText 的光标为何不显示?
首先设置cursorVisible属性为true,然后设置textCursorDrawable(背景色与控件背景色不要一样),textCursorDrawable属性是在API11才推出的属性;

四、ListView的android:listSelector属性如何使用?
a、解决为什么无效;
b、找到替代方法:
首先,在自己实现的Adapter的getView()方法中进行如设置:

   if (position == selectItem) { 
       convertView.setBackgroundColor(Color.RED);   
       } else {
       convertView.setBackgroundColor(Color.TRANSPARENT);     
       }     

然后,在onItemClick()方法中,进行如下设置:

adapter.setSelectedItem(position);
adapter.notifyDatasetInvalidated(); 

五、如何对TextView的部分文字进行特定样式设置?
要对TextView的部分文字进行样式设置,需要用到SpannableStringBuilder类,该类提供了setSpan(Object what, int start, int end,int flags) 方法,其中的what可以为以下类的实例:

URLSpan;    ClickableSpan;    BackgroundColorSpan;    ForegroundColorSpan;    MaskFilterSpan;    AbsoluteSizeSpan;    RelativeSizeSpan;    ImageSpan;    ScaleXSpan;    StyleSpan;    SubscriptSpan;    SuperscriptSpan;    TextAppearanceSpan;    TypefaceSpan;    RasterizerSpan;    StrikethroughSpan;    UnderlineSpan;

使用方法: a、得到SpannableStringBuilder类的实例:builder;
b、得到Span子类的实例,如ForegroundColorSpan的实例 forgroundColorSpan;
c、调用setSpan方法,指定要进行样式修饰的起始位置,进行参数填充;
d、调用TextView的setText(SpannableStringBuilder builder)方法;

六、mac版eclipse导入Android项目里面的中文乱码问题如何解决?

1、在Preference中找到Text File Encoding,选择Other,手动输入GBK即可
2、选择乱码的文件,右键选择属性,在Text File Encoding中进行修改(这是针对单个文件的修改方法),针对所有的*.java文件,可采用在Eclipse的偏好设置中的General->Content Type->Text->Java Source Files->Default Encoding中进行设置。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值