android UI小结(一)

7 篇文章 0 订阅
1 篇文章 0 订阅
一、view组件的一些特殊属性、相关方法和说明
XML属性相关方法说明
android:fadeScrollbarssetScrollbarFadingEnabled(boolean)当不使用该组件的滚动条时,是否淡出
android:longClickablesetLongClickable(boolean)该组件是否可以响应长单击事件
android:nextFocusDownandroid:setNextFocusDownId(int)设置焦点在该组件上,且向下按键时获得焦点组件的ID
android:alphasetAlpha(float)设置该组件的透明度
android:visibilitysetVisibility(int)设置该组件是否可见


二、android:gravity和android:layout_gravity区别

android:gravity:是对view控件本身来说的,是用来设置view本身的文本应该显示在view的什么位置,默认值是左侧,即设置布局文件组件的对齐方式
android:layout_gravity:是相对于包含改元素的父元素来说的,设置该元素在父元素的什么位置,指定该元素在LinearLayout中的对齐方式

三、自定义View
首先必须继承View基类,重写构造器还有重写onDraw方法,再选择性地重写你需要的方法。而在布局文件中使用它时,必须指定全限定类名。如
<xx.xx.View.MyView
  android:layout_width=""
  android:layout_height="" />


四、表格布局TableLayout
  继承自LinearLayout.每次向TableLayout中添加一个TableRow,该TableRow也是容器,就是一个表格行。向TableRow中添加一个组件表格就增加一列。如果直接向TableLayout中添加组件,那么该组件将直接占用一行
android:collapseColumns设置需要被隐藏的列的序列号,多个序列号之间用,隔开
android:shrinkColumns设置允许被收缩的列的序列号,多个序列号之间用,隔开
android:stretchColumns设置允许被拉伸的列的序列号,多个序列号之间用,隔开


五、周期性改变
android的View和UI组件不是线程安全的,不允许开发者直接启动线程访问用户界面的UI组件。所以必须额外定义一个Handler来处理。
eg:启动线程周期性改变TextView的背景色
Handler handler = new Handler()
	{
		@Override
		public void handleMessage(Message msg)
		{
			// 表明消息来自本程序所发送
			if (msg.what == 0x123)
			{
				for (int i = 0; i < names.length; i++)
				{
					views[i].setBackgroundResource(colors[(i 
							+ currentColor)	% names.length]);
				}
				currentColor++;
			}
			super.handleMessage(msg);
		}
	};

@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		// 定义一个线程周期性的改变currentColor变量值
		new Timer().schedule(new TimerTask()
		{
			@Override
			public void run()
			{
				// 发送一条空消息通知系统改变6个TextView组件的背景色
				handler.sendEmptyMessage(0x123);
			}
		}, 0, 200);
	}


六、网格布局GridLayout
类似于HTML页面的Table标签,他把整个容器划分为rows x columns个网格,每个网格可放置一个组件。
setRowCoount(int)和setColumnCount(int)方法设置网格的行数量和列数量
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"	android:rowCount="6"
	android:columnCount="4"
	>
<TextView 
    android:layout_width="match_parent"
	android:layout_height="wrap_content" 
	android:layout_columnSpan="4" />
</GridLayout >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值