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();
b、
如何对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中进行设置。
未完待续