Android基础之view

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值