1.textView中的ellipsize
我们都知道当在TextView中设定ellipsize时,显示的结果会是缩略显示,但是比较不好的是
Google默认只会显示倆行,如果自己想多显示的话就必须自定义TextView,为了减少开发
过程中的重复工作,我把最近做的项目中的这部分代码贴出来,如下:
package com.hustunique.Fuubo.View;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
public class WeiboContentText extends TextView{
private String mText;
public WeiboContentText(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public WeiboContentText(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
public CharSequence getText() {
// TODO Auto-generated method stub
return mText;
}
@Override
public void setText(CharSequence text, BufferType type) {
// TODO Auto-generated method stub
mText = (String) text;
if (mText.length()>22) {
StringBuffer subTextBuffer = new StringBuffer(mText.substring(0, 19));
subTextBuffer.append("...");
text = subTextBuffer;
}
super.setText(text, type);
}
}
比较低级,但是感觉还是比较实用
2.设置输入法弹出后的布局问题可以试下以下系列方法:
getWindow().setSoftInputMode(WindowManager.LayoutParams.xxxx);
3.
TextView实现多行本文滚动 <TextView android:id="@+id/xxx" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scrollbars="vertical" <!--垂直滚动条 --> android:singleLine="false" <!--实现多行 --> android:maxLines="12" <!--最多不超过12行 --> android:textColor="#ffffff" /> 当然我们为了让TextView动起来,还需要用到TextView的setMovementMethod方法设置一个滚动实例,代码如下TextView tv = (TextView)findViewById(R.id.tvCWJ);tv.setMovementMethod(ScrollingMovementMethod.getInstance());
4.EditText中setInputType的妙用
使用该方法我们可以实现诸如隐藏/显示输入内容,隐藏键盘等等
5.Dalvik与JVM
a. dalvik是基于寄存器,而JVM基于栈,前者可以提前优化,编译时间短,指令简单短小,所需资源少等等
b. dalvik运行的是.dex,而JVM是.class
c. dalvik接合了面向对象和linux的进程/线程机理,在有限的内存中可以有多个实例,每个android应用对应一个实例
并且android中的线程和进程是和linux内核中一一对应的,内核是感知的,但是在JVM中一次只能支持一个进程,并且多线程
是虚拟机虚拟出来的,操作系统只看到单线程
d.dalvik为所有的对象维持一个常量池,而jvm是每个对象有自己的常量池
6.android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。
7.GC的一般原因:
过长时间持有占用大内存的对象引用,比如activity和context
bitmap没有recycle
cursor没有关闭
自定义adapter时,没有利用contentview
8.将自己的应用添加到系统分享或是发送到:
在自己的activity中加入以下代码
<intent-filter android:label="自己的label">
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/*" />
<data android:mimeType="audio/*" />
<data android:mimeType="image/*" />
<data android:mimeType="text/*" />
<data android:mimeType="video/*" />
<data android:mimeType="multipart/*" />
</intent-filter>
9.在自己程序中设置桌面壁纸
public void setWallpaper(View view) {
//生成一个设置壁纸的请求
final Intent pickWallpaper = new Intent(Intent.ACTION_SET_WALLPAPER);
Intent chooser = Intent.createChooser(pickWallpaper,"chooser_wallpaper");
//发送设置壁纸的请求
startActivity(chooser);
}
将以上方法作为一个事件触发函数即可
10.将自己程序的背景设置为手机壁纸
在values文件夹下创建一个styles.xml文件,加入如下代码
<resources>
<style name="Theme" parent="android:Theme.Wallpaper">
<!-- windowNoTitle设置为true,去掉标题栏 -->
<item name="android:windowNoTitle">true</item>
</style>
</resources>
然后在自己的程序中使用以上风格即可,注意自己的程序中不能再设置背景,否则不会出现壁纸
分享到:
相关推荐
android开发经验总结分享,对android 开发的工程人员有帮助
标题《android初学者入门开发经验》和描述提到了Android开发中几个重要的概念,包括多线程、activity以及Android开发的基础知识。同时,给出了标签“android 多线程 activity handler gridview”。根据这些信息,...
标题和描述均提到了"Android开发经验谈",这表明文章旨在分享关于Android开发的实践经验。作者何晓杰,作为一名资深软件工程师和移动行业研究者,深入探讨了Android开发过程中的关键点,以及如何利用Android的优势,...
本文将基于“Android开发经验整理”这一主题,详细解析其中包含的关键知识点,旨在帮助新手开发者快速上手,避免常见错误,提升开发效率。 1. **环境配置**:Android开发首先需要安装Android Studio,这是Google...
天翼大会上的PPT:创新和机遇 Android开发经验分享
在Android原生开发中,创建游戏是一个挑战但充满乐趣的过程。以下6个游戏项目提供了丰富的学习资源,涵盖了从基础到进阶的Android游戏开发技术: 1. **Android 美女拼图游戏**:这是一个典型的图像处理和逻辑编程的...
《阿里巴巴 Android 开发手册》是阿里巴巴集团各大 Android 开发团队的集体智慧结晶和经验总结,将淘宝、天猫、闲鱼、钉钉等 App 长期开发迭代和优化经验系统地整理成册,以指导 Android 开发者更加高效、高质量地...
《Android开发艺术探索》是一本深受Android开发者喜爱的书籍,由尹吉欢撰写,全面而深入地探讨了Android应用开发的各个重要方面。这本书旨在帮助读者提升Android开发技能,掌握更多的实践技巧,以及理解Android系统...
10. **第三方库集成**:许多开源库简化了Android开发,如Dagger2进行依赖注入,RxJava处理异步流,Butter Knife进行视图绑定。案例将展示如何高效地集成和使用这些库。 通过研究这60个案例,开发者不仅可以学习到...
为了帮助初学者更有效地掌握Android开发,以下是一份详细的学习路径和资源推荐。 首先,基础的Java语法是Android开发的基石。即使现在有其他语言可以选择,如Kotlin或Swift,Java仍然是最常用的语言。因此,建议先...
安装ADT:google现在已经将android的开发环境给你打包好 包括了eclipse android SDK 和eclipse的android开发插件 ADT下载地址:http: developer android com sdk index html 或者百度搜 android SDK 安装好ADT请...
《Android Framework 开发揭秘》这本书深入剖析了Android系统的内部运作机制,是Android开发者提升技术深度...通过学习本书,读者将能够更深入地掌握Android开发,从而在Android平台上创造出更高效、更稳定的应用程序。
《Android开发权威指南》适合具备一定软件开发经验、想快速进入Android开发领域的程序员,具备一些手机开发经验的开发者和Android开发爱好者学习使用;也适合作为相关培训学校的Android培训教材。
这可能涉及到硬件接口的使用,如GPIO、I2C、SPI等,以及设备驱动程序的开发,这对于在嵌入式系统上进行Android开发是必不可少的。 总之,这份"Android开发笔记"是一套全面的学习资源,涵盖了从基础到进阶的Android...
搭建Android开发环境是每个想要踏入Android应用开发领域的初学者必经的第一步。这一过程涉及到多个环节,包括安装必要的软件、配置开发工具以及设置环境变量。本文将详细讲解这些步骤,帮助初学者顺利构建起Android...
《Android开发艺术探索》是一本深受Android开发者喜爱的书籍,旨在深入探讨Android应用程序开发的各个方面。这本书涵盖了从基础到高级的Android技术,包括UI设计、性能优化、内存管理、网络编程等多个关键领域。源码...
在Android开发领域,掌握基础知识和实践经验是至关重要的。"Android开发入门60个小案例+源代码.rar.rar" 提供了一套全面的学习资源,旨在帮助初学者快速熟悉Android应用开发的基本流程和技术要点。以下是对这些小...
《30627-Android开发工程师案例教程(第2版)-倪红军-代码》是一本专注于Android应用开发实践的教程,由资深Android开发者倪红军编写。此资源包含了与教程配套的源码,旨在帮助读者通过实际操作来加深对Android开发...
** 行业标准: 作者有数年Android开发经验. ** 专业: 数年Android问题debug经验,Android解读专业到位 ** 咨询: 承诺文档解读有疑问,可以免费每天3个问题的解答 ** 退款: 作者承诺如果对于文档不满意,可线下联系...