FrameLayout

1.FrameLayout:

FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。显示效果如下,第一个TextView被第二个TextView完全遮挡,第三个TextView遮挡了第二个TextView的部分位置。
<FrameLayout xmlns:android=”http://schemas.android.com/apk/res/android&#8221; android:orientation=”vertical” android:layout_width=”fill_parent” android:layout_height=”fill_parent”>
<TextView android:layout_width=”fill_parent” android:layout_height=”fill_parent” android:background=”#ff000000″ android:gravity=”center” android:text=”1″/>
<TextView android:layout_width=”fill_parent” android:layout_height=”fill_parent” android:background=”#ff654321″ android:gravity=”center” android:text=”2″/>
<TextView android:layout_width=”50dp” android:layout_height=”50dp” android:background=”#fffedcba” android:gravity=”center” android:text=”3″/>
</FrameLayout>

2.android:ellipsize省略文字用法

当字符内容太长显示不下时可以省略号代替未显示的字符;省略号可以在显示区域的起始,中间,结束位置,或者以跑马灯的方式显示文字(textview的状态为被选中时文字会滚动),只需在xml中对textview的ellipsize属性做相应的设置, 最好加一个约束android:singleline = “true”

  • android:ellipsize=”start”        省略号在开头
  • android:ellipsize=”middle”       省略号在中间
  • android:ellipsize=”end”          省略号在结尾
  • android:ellipsize=”marquee”      跑马灯显示

也可以用代码语句

  • tv.setEllipsize(TextUtils.TruncateAt.valueOf(“END”));
  • tv.setEllipsize(TextUtils.TruncateAt.valueOf(“START”));
  • tv.setEllipsize(TextUtils.TruncateAt.valueOf(“MIDDLE”));
  • tv.setEllipsize(TextUtils.TruncateAt.valueOf(“MARQUEE”));
  • 最好再加一个约束tv.setSingleLine(true);

textview有此属性,对于editext也有,不过它不支持marquee

textview的Marquee repeat limit 属性(滚动回数,默认是无数回)TextView 自动左右滚动:textview.setMarqueeRepeatLimit(6);

3.在一个区域中平铺四幅图片

点击查看原始尺寸

5.Removing autofocus from EditText and regaining focus

  • Create a LinearLayout (I dunno if other kinds of Layout’s will work)
  • Set the attributes android:focusable="true" and android:focusableInTouchMode="true"

6.如何让action bar上下都显示

下面的代码在3.0以前是隐藏标题,而在3.0以后就是隐藏ActionBar了,代码为
<activity android:theme=”@android:style/Theme.NoTitleBar”>

listview,把背景设置成白色,cachecolorhint设为#00000000透明色即可,
至于左右不同的位置,自己弄了,layoutparams动态设置是一种办法。
实在不行就强制加载两种布局,但这个性能一般差了。

7. 底部动态加载tab内容

Android原生UI与iPhone有很大不同,最大差异就是iPhone的大部分UI界面底部都有一个Action Bar,方便在不同功能Tab切换。Android标准屏幕下方有一系列的实体控制按键,再加上底部Action Bar就显得有些多余了。但是Action Bar与实体按键的功能目标不同,前者提供在不同的功能Tab切换的功能,或者常用快捷键操作,而后者则提供系统全局控制功能,比如返回,跳至主页

Android SDK3.0之后提供了一个顶栏的Action Bar,弥补了之前的缺陷,但是新的问题又来了,顶栏对于单手操作的用户属于一个相对难以触及的区域,再加上Android越来越大的屏幕,对于手小的用户简直就是噩梦,因此很多应用都自己绘制了一套底部Action Bar。很多Android应用使用TabHost的方式实现底部Action Bar,将默认样式隐藏掉再使用Check Box等控件进行切换,但是样式有些呆板。

实现原理是在一个LinearLayout上放四个ImageView,再在整个控件的onDraw事件中绘制滑块。背景色改为渐变色,每个选项下加上文字说明就更加像iOS,code在GitHub

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

生活在西班牙

自己动手丰衣足食

BlueAsteroid

Just another WordPress.com site

Jing's Blog

Just another WordPress.com site

Start from here......

我的心情魔方

天才遠私廚

希望能做一個分享各種資訊的好地方

语义噪声

西瓜大丸子汤的博客

笑对人生,傲立寰宇

Just another WordPress.com site

Where On Earth Is Waldo?

A Project By Melanie Coles

the Serious Computer Vision Blog

A blog about computer vision and serious stuff

Cauthy's Blog

paper review...

Cornell Computer Vision Seminar Blog

Blog for CS 7670 - Special Topics in Computer Vision

datarazzi

Life through nerd-colored glasses

Luciana Haill

Brainwaves Augmenting Consciousness

槑烎

1,2,∞

Dr Paul Tennent

and the university of nottingham

turn off the lights, please

A bunch of random, thinned and stateless thoughts around the Web

%d bloggers like this: