Android开发之实用小知识点汇总-2
1.EditText 中将光标移到文字末尾:
EditText mEdit = (EditText)this.findViewById(R.id.EditText01);
mEdit .setText("abcdefg");
Editable b = mEdit .getText();
mEdit .setSelection(b.length());
2.Android TextView文字横向自动滚动(***灯效果)
(1)重写TextView
public class AlwaysMarqueeTextView extends TextView {
public AlwaysMarqueeTextView(Context context) {
super(context);
}
public AlwaysMarqueeTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AlwaysMarqueeTextView(Context context, AttributeSet attrs,int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean isFocused() {
return true;
}
}
(2)在布局中
<com.kayang.views.AlwaysMarqueeTextView
android:id="@+id/txtHeadTitle"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="9"
android:background="@android:color/transparent"
android:ellipsize="marquee"
android:focusable="true"
android:gravity="center"
android:focusableInTouchMode="true"
android:singleLine="true"
android:textColor="#ffffff"
android:textSize="20dp"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true" />
只需以上的两步,你的文字就会跑起来啦!
3.布局 android:layout_xxx="0.0dip"和android:layout_weight 的搭配使用:
要想使子控件成比例,
在竖直方向:用android:layout_height="0.0dip"和android:layout_weight;
在水平方向:用android:layout_width="0.0dip"和android:layout_weight;
此时android:layout_weight越大在相应方向占的比例就越大。
4.adapter.notifyDataSetChanged更新数据时没刷新页面,则将你请求的新数据按照以下的三句话来处理即可,注意这种情况主要是List这样的数据:
usersList.clear();
usersList.addAll(query(......));
adapter.notifyDataSetChanged();
5.ListView的item中包含有GridView或者ListView时,会导致Item的点击事件失效?
解决方案:在Adapter中的布局的第一层加 android:descendantFocusability="blocksDescendants",如此就可以解决了焦点的问题。
6.GridView设置Item的间距
水平间距:android:horizontalSpacing="5dp"
垂直间距:android:verticalSpacing="2dp"
7.EditText中设置输入内容与EditText的头部的间距:
android:paddingLeft="10dp" ;
8.如何生成二维码让用户扫描下载自己的APK?
解决:只需要在网上下载一个二维码生成器,将服务器下载apk 的地址输入后生成一个二维码的图标,用户只需扫描该二维码即可下载。
9.随时随地退出程序:
(1)新建一个ActivityCollector类作为活动管理器。
public class ActivityCollector { public static List<Activity> activities=new ArrayList<Activity>(); public static void addActivity(Activity activity) {
activities.add(activity);
} public static void removeActivity(Activity activity) {
activities.remove(activity);
} public static void finishAll() {
for (Activity activity: activities) {
if (!activity.isFinishing()) {
activity.finish();
}
}
} }
(2)添加和移除activity
public class BaseActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActivityCollector.addActivity(this); //将当前正在创建的activity加入到ActivityCollector
} @Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
ActivityCollector.removeActivity(this); //马上要销毁的activity从ActivityCollector移除
}
}
(3) 销毁全部的activity
public class SignOutActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.signout);
Button button=(Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub
ActivityCollector.finishAll();
}
});
}
}
app中的所有的activity都继承BaseActivity。
10.控件不会随着键盘上移
在manifest的activity中,添加 android:windowSoftInputMode="adjustPan" 属性
Android开发之实用小知识点汇总-2的更多相关文章
- Android开发之实用小知识点汇总-1
1.去掉android屏幕中的actionbar: this.requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉标题栏 //这个是全屏幕显示的代码 ...
- Android开发效率的小技巧
提高eclipse使用效率(二) 提高Android开发效率的小技巧 XML文件的代码提示 adt中也有xml文件的代码提示,为了让提示来的更加猛烈,我们还要设置一下 打开eclipse - Wi ...
- 我对android开发的一点小感悟小看法
“Android”,“Android开发”等等这些词成了时下最热的词,也是时下大众最关注最吸引人眼球的话题,当然,最热门的行业也意味着高薪,好的就业环境,但同时也意味着强大的竞争力! Android系 ...
- 几款Android开发人员必备小工具
在这里我介绍一下我常常在Android Studio里面使用的小工具吧,这些工具都能够在plugin里面搜索到. (当然了哈.我也是从网上找的.用着挺方便的,在这里总结一下) Gsonformat: ...
- android开发中遇到的问题汇总【九】
244.http请求的url含有中字符时.须要Uri编码.Uri.encoder() 245.使用androidstudio时,不知道什么原因svn不见了 Android Studio missing ...
- 10个关于Android开发的实用教程
本文为致力于Android应用的开发人员精选了几个不错的实用教程,无论是初学者还是专业开发人员都应该能够从中获益.这些教程中有不少是关于绘图和地址服务运用的,另外一些则是SDK相关的.希望对大家有所帮 ...
- 新人学习Android开发遇到的小问题总结
1. IDE搭建: 搭建android的IDE时,先注意是什么版本的系统,64/32位系统. 通常使用的是Eclipse for android,Android Studio由于还需要FQ,网速慢,所 ...
- Android开发环境——SDK相关内容汇总
Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关 ...
- 年度巨献-WPF项目开发过程中WPF小知识点汇总(原创+摘抄)
WPF中Style的使用 Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了 ...
随机推荐
- .net 将excel转成html文件
最近在做一个打印预览功能,但是开始没有头绪后来用excel做了一个模板,然后根据excel模板来生成新的excel并将其存储为html,可以通过http请求在浏览器中读取,并且打印,其他的不多说.方法 ...
- VS2010水晶报表的添加与使用
最近在学习VS2010水晶报表,发现原先安装的VS2010旗舰版没有 Crystal Report Viewer 控件,网上搜索一下发现要安装一个插件----CRforVS_13_0, 于是下载安装: ...
- 玩转Slot Machine
最近在做一个有关Slot Machine小游戏的开发,其中遇到了不少的坑,现将个人遇到的问题总结如下,希望今后对大家开发的过程中有所的帮助. 这个项目是部署到微信朋友圈广告的,两天时间,PV就有14 ...
- ISO-9126 软件质量模型
摘要 在软件开发过程中,软件的质量是一个重要的因素,而软件体系结构在整个过程中显得尤为重要.软件的质量需求是在开发初期的非功能性需求,对软件的体系结构影响很大.但是并不意味着一味的追求质量,必须在效率 ...
- linux乱码问题:LANG变量的秘诀
对于国内的Linux用户,经常烦恼的一个问题是:系统常常在需要显示中文的时候却显示成了乱码,而由于某些原因,需要英文界面的系统的时候,却苦于系统不能正常输入和显示中文.另外,由于大部分主要Linux发 ...
- 转 在无法通过yum下载非标准包时,怎么办
在CentOS下,我们可以通过yum来下载或更新rpm包,但是标准的源(repository)里只提供一部分的rpm包,虽然大部分情况下,这些包是够用的.但是有时候还是需要下载其他的一些非标准的包,如 ...
- 关于帝国cms 列表页SEO优化的问题
一般列表页面中,我们都需要带分页信息区分当前页号,为区分第一页,和第一页后的其他所有分页页面.我们推荐的做法为:第一页显示正常的标题,从第二页开始便显示xxxxx-第2页-xxxx网.做法是.修改帝国 ...
- 浅谈string
#include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件 using std::string;using ...
- VS2010中无法嵌入互操作类型“......”,请改用适用的接口的解决方法
- Python的注释
任何时候,我们都可以给程序加上注释.注释是用来说明代码的,给自己或别人看,而程序运行的时候,Python解释器会直接忽略掉注释,所以,有没有注释不影响程序的执行结果,但是影响到别人能不能看懂你的代码. ...