SDK搭配环境时可能会遇到的问题及解决方案:
1、无法运行模拟器:
原因:SDK文件路径中可能包含中文
解决方案:将路径改为全英文
2、无法启动Activity项目:
原因:Androidmanifest中miniversion高于模拟器的version
解决方案:将前者版本和模拟器版本改为一致
另外需要注意的是:eclipse版本和jdk版本要一致。
Activity就是一个页面,创建Activity步骤:
1、自定义类继承Activity
2、重写onCreate周期方法,设置显示内容setContentView(int layoutResld);
3、在清单文件注册Activity,<activity></activity>
(如果需要布局,要在res目录下的layout布局文件中布局)
运行Android Application系统内部执行的步骤:
1、编译工程生成.dex文件以及其他各种文件,存放在bin目录下
2、将bin目录下所有文件进行打包,生成xxx.apk安装包
3、启动emulator模拟器并将xxx.apk上传到这里面(或其他终端,比如手机)
4、安装xxx.apk
5、Android系统会找到默认启动Activity并打开
Android常用的UI控件之View(界面编程与视图组件):
View类是一个大类,包含ViewGroup类,TextView类,ImageView等各个小类
View常用的属性:
android:layout_height设置view控件的高度
android:layout_width设置view控件的宽度
android:id设置view的唯一标识符,在java代码中可以通过findviewbyid来找到此view控件
android:background设置view控件的背景,可以是颜色也可以是图片或者是xml文件
android:onClick设置view控件的点击事件,需要在Activity中的src文件.java中声明所指定的方法
android:padding设置view控件的内边距
android:visibility设置view控件是否可见
android:alpha设置view控件的透明度
android:layout_margin设置view控件的外边距
viewgroup这个类包括:Linearlayout,Framelayout,Relativelayout,Gridlayout,Absolutelayout,Tablayout(后两者几乎不用了)
1、Linearlayout(线性布局,后者永远不会覆盖前者,因为呈现的顺序永远是线性的,只有两种排列方式:纵向与横向;如果其中的UI控件内容已经超出屏幕则不显示
)
特有属性:android:orientation 设置排列方式
android:gravity 设置内部UI控件的排列重心
android:layout_weight 内部UI控件设置权重(百分比)
android:layout_gravity 设置内部UI控件相对父布局的重心(会覆盖父布局的gravity)
2、FrameLayout帧布局(后者可以覆盖前者)
最简单的一种布局
排列方式是统一的全部摆放到左上角,后续的UI控件在上方
可以通过以下几个属性控制其中的UI控件的摆放
特有属性:
android:layout_gravity 设置内部UI控件相对父布局的重心
android:layout_marginXXX 设置view控件的外边距
3、RelativeLayout(后者可以覆盖前者)
相对布局,排列方式是根据参照物来放置UI控件
指兄弟控件之间的相对位置。该组属性的值是另一个控件的id
layout_toRightOf 在某某的右边
layout_toLeftOf 在某某的左边
layout_above 在某某的上边
layout_below 在某某的下边
指兄弟控件之间的对齐关系。该组属性的值是另一个控件的id
layout_alignRight 与某某右对齐
layout_alignLeft 与某某左对齐
layout_alignTop 与某某上对齐
layout_alignBottom 与某某下对齐
指控件与父布局之间的对齐关系。该组属性的值是true或者false
layout_alignParentRight 与父布局右对齐
layout_alignParentLeft 与父布局左对齐
layout_alignParentTop 与父布局上对齐
layout_alignParentBottom 与父布局下对齐
layout_centerInParent 与父布局中心对齐
layout_centerVertical 与父布局纵向中心对齐
layout_centerHorizontal 与父布局横向中心对齐
4、GridLayout表格布局
特有属性:
android:row_count 设置行数
android:column_count设置列数
android:layout_row设置子控件所在表格的某行
android:layout_column设置子控件所在表格的某列
TextView高级使用:SpannableString
URLSpan 替换文本信息为超链接
UnderLineSpan 给文本内容添加下划线
ImageSpan 用图标替换文本内容
使用方法:1、在<Textview></Textview>中设置id【@+id表示创建id;@id表示引用这个id】(android:id="@+id/urlText")(android:id="@+id/imageText")
2、在.java通过findViewById找到要使用的控件(需要进行强转)
TextView imageText=(TextView)findViewById(R.id.imageText);
3、使用SpannableString工具类
图片替换文字:
TextView imageText=(TextView)findViewById(R.id.imageText);
SpannableString imageSpannableString=new SpannableString("大笑");(这里是被替换的字符串是“大笑”)
Drawable d=getResources().getDrawable(R.drawable.ic_launcher);(寻找到替换的图片)
d.setBounds(0, 0, 48, 48);(设置图片大小48*48)【这一步必须有】
ImageSpan imageSpan=new ImageSpan(d);(将图片给imagespan对象)
imageSpannableString.setSpan(
imageSpan, 0, imageSpannableString.length(), SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);(替换的格式)
imageText.setText(imageSpannableString);(进行替换)
文字超链接地址:
TextView urltText=(TextView) findViewById(R.id.urlText);
SpannableString urlSpannableString=new SpannableString("百度");
URLSpan urlspan=new URLSpan("http://www.baidu.com");
urlSpannableString.setSpan(
urlspan, 0, urlSpannableString.length(), SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
urltText.setText(urlSpannableString);
urltText.setMovementMethod(new LinkMovementMethod());
转载于:https://my.oschina.net/weiwei1314/blog/653901