Android布局属性(DOC)

Android布局属性(DOC)
Android布局属性(DOC)

1、可以使某些资源文件或UI组件可重用

按Ctrl+1键

2、定义一个文本编辑框,使用

绝对定位

android:layout_x="20dip"

android:layout_y="80dip"

3、控件位置

3.1布局属性详解

RelativeLayout用到的一些重要的属性:

第一类:属性值为true或false

android:layout_centerHrizontal 水平居中

android:layout_centerVertical 垂直居中

android:layout_centerInparent 相对于父元素完全居中

android:layout_alignParentBottom 贴紧父元素的下边缘

android:layout_alignParentLeft 贴紧父元素的左边缘

android:layout_alignParentRight 贴紧父元素的右边缘

android:layout_alignParentTop 贴紧父元素的上边缘

android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物

第二类:属性值必须为id的引用名“@id/id-name”

android:layout_below 在某元素的下方

android:layout_above 在某元素的的上方

android:layout_toLeftOf 在某元素的左边

android:layout_toRightOf 在某元素的右边

android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐

android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐

android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐

android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐

第三类:属性值为具体的像素值,如30dip,40px

android:layout_marginBottom 离某元素底边缘的距离

android:layout_marginLeft 离某元素左边缘的距离

android:layout_marginRight 离某元素右边缘的距离

android:layout_marginTop 离某元素上边缘的距离

android:gravity

android:gravity属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.以button为例,android:gravity="right"则button上面的文字靠右

android:layout_gravity

android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button 在linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为例,android:layout_gravity="right"则button靠右

android:layout_alignParentRight

使当前控件的右端和父控件的右端对齐。这里属性值只能为true或false,默认false。

4、设置单元格内的控件的形状(可压缩,可伸长,可隐藏等)

android:shrinkColumns 设置该列的所有单元格的宽度可以被收缩,以保证该表格能够适应父容器宽度

android:stretchColumns 设置该列的所有单元格的宽度可以被拉伸,以保证组件能完全填满表格空余空间

android:collapseColumns 设置该列的所有单元格会被隐藏

5、TextView属性设置

设置字体为30pt android:textSize="30pt"

设置中间省略android:singleLine="true"android:ellipsize="middle"

对邮件增加链接android:autoLink="email"android:autoLink="email"

测试密码框android:password="true"

绘制一张图片android:drawableLeft="@drawable/icon"

6、EditText属性设置

1.当前组件在得到焦点的时候,自动选取该组件内的所有的文本内容

android:selectAllOnFocus="true"

2.当前组件只能输入数字

android:phoneNumber="true"

3.当前组件显示的提示信息,被选中时,内容自动被清空

android:hint="@string/edtPhone

7、按钮以及属性(B utton……)

普通文字按钮android:background=""

普通图片按钮

按下时显示不同图片的按钮(利用配置文件解决即,

button_selector.xml,android:src="@drawable/button_selector")

B utton_selector.xml:指定按钮按钮下时的图片

android:drawable="@drawable/red"

/>

指定按钮松开时的图片:

android:drawable="@drawable/purple"

/>

带文字的图片按钮android:background="@drawable/button_selector" android:text="@string/btnImage"

8、单选按钮和多选按钮(RadioGroup、CheckBox)

定义一组单选框

定义一个单选框

定义一个垂直的线性布局

定义三个复选框

android:checked="true"/>……

9、带类似开关式的按钮(ToggleButton)

定义一个ToggleButton按钮:

android:textOff="@string/layoutH"

android:textOn="@string/layoutV"/>

定义一个可以动态改变方向的线性布局:

TestActivity:

ToggleButton tb = (ToggleButton) findViewById(R.id.toggle);

layout = (LinearLayout) findViewById(R.id.test);

匿名内部类:

tb.setOnCheckedChangeListener(new

OnCheckedChangeListener() {

public void onCheckedChanged(CompoundButton arg0, boolean arg1) { if (arg1) {

layout.setOrientation(LinearLayout.HORIZONTAL);

} else {

layout.setOrientation(LinearLayout.VERTICAL);

}}});

9、计时器组件(Chronometer)

获取计时器组件:

final Chronometer chro = (Chronometer) findViewById(R.id.test);

改变显示的信息内容,使用"%s"表示计时信息

chro.setFormat("计时信息:%s");

获取“开始”按钮

Button btnStart = (Button) findViewById(R.id.start);

获取事件监听:

btnStart.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

设置开始计时时间:

SystemClock系统时钟类,

elapsedRealtime方法是得到当前系统的真实时间

hro.setBase(SystemClock.elapsedRealtime());

启动计时器:

chro.start();

}});

时钟改变一次监听一次:

chro.setOnChronometerTickListener(new

OnChronometerTickListener() {

public void onChronometerTick(Chronometer ch) {

如果从开始计时到现在超过了20s。(15 - 11 > 20 * 1000)

Log.i("TestActivity", SystemClock.elapsedRealtime()

+ "");

if (SystemClock.elapsedRealtime() - ch.getBase() >

20 * 1000) {

ch.stop();

}}});

定义模拟时钟:

定义数字时钟:

计时器:

android:textSize="12pt"……

android:textColor="#ffff0000"/>

10、图像视图(ImageView)

android:layout_marginLeft="10dp"距离左边10 dp

android:layout_marginTop="100dp"距离上面100dp/>

11、自动完成文本框(AutoCompleteTextView)

指定输入一个字符后进行提示:

设置出现在下拉菜单中的提示标题:android:completionHint="@string/title"设置下拉菜单的宽度:android:dropDownWidth="100dp"

设置下拉菜单与文本框之间的水平偏移:android:dropDownHorizontalOffset="30dp"

设置用户至少输入几个字符才会显示提示:android:completionThreshold="2"

具体实现(Activity):

1、定义字符串数组,作为提示的文本

String[] books = new String[] { "active", "activity", "activity", "apple","apple" };

2、获取CompleteTextView上下文对象:

AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.auto);

3、创建一个ArrayAdapter,封装数据

ArrayAdapter adapter

= new ArrayAdapter(this, https://www.360docs.net/doc/622275774.html,yout. simple_dropdown_item_1lin e, books);

simple_dropdown_item_1line:android自带的配置文件。

4、设置Adapter

actv.setAdapter(adapter);

12、下拉列表框(Spinner)

定义了一个Spinner组件,指定该显示该Spinner组件的数组:

使用数组资源设置该下拉列表框的列表项目:

android:entries="@array/books"

books.xml:

Java SE

Java EE

Java ME

Linux

设置该列表选择框的提示

android:prompt="@string/info"

13、时间和日期组件(DatePicker、TimePicker)

定义一个DatePicker组件(日期:年,月,日):

定义一个TimePicker组件(时间:含上下午):

Activity:

引用布局文件中的组件:findViewById();

获取当前的年、月、日、小时、分钟:Calendar c = Calendar.getInstance();

year = c.get(Calendar.YEAR);

month= c.get(Calendar.MONTH);

day = c.get(Calendar.DAY_OF_MONTH);

hour = c.get(Calendar.HOUR);

minute = c.get(Calendar.MINUTE);

用于显示时间的方法(show):

private void showDate(int year, int month, int day, int hour, int minute) {

EditText show = (EditText) findViewById(R.id.show);

show.setText("您的购买日期为:" + year + "年" + month + "月" + day + "日 " + hour

+ "时" + minute + "分"); }

初始化DatePicker组件,初始化时指定监听器:

datePicker.init(year, month, day, new OnDateChangedListener() {

public void onDateChanged(DatePicker arg0, int year, int month, int day)

{ TestActivity.this.year = year;

TestActivity.this.month = month;

TestActivity.this.day = day;

// 显示当前日期、时间

showDate(year, month, day, hour, minute); }});

为TimePicker指定监听器:

timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {

public void onTimeChanged(TimePicker arg0, int hour, int minute) { TestActivity.this.hour = hour;

TestActivity.this.minute = minute;

// 显示当前日期、时间

showDate(year, month, day, hour, minute); }});

14、水平进度条(ProgressBar)

定义一个水平进度条

android:max="100"android:progress="30"

style="@android:style/Widget.ProgressBar.Horizontal" />

Widget.ProgressBar.Horizontal:系统自带布局方式。

15、拖动条(SeekBar)

定义一个拖动条,并改变它的滑块外观:

android:id="@+id/seekbar"……

android:max="255"android:progress="120"

android:thumb="@drawable/marker"(更改滑块外观)/>

Activity:

1、findViewById

2、事件监听器:

seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

// 当拖动条的滑块位置发生改变时触发该方法

public void onProgressChanged(SeekBar

arg0, int progress, boolean fromUser) {image.setAlpha(progress); }// 设置透

明度

public void onStartTrackingTouch(SeekBar bar) {}

public void onStopTrackingTouch(SeekBar bar) {}});

16、星级评分条(RatingBar)

定义一个星级评分条:

android:numStars="5"//星的数量android:max="50"//总长度

android:progress="10"//单位长度android:stepSize=".5"//允许最小尺寸/>

17、选项卡(TabHost)

定义一个TabHost……

添加几个布局:

Activity:

1、TabHost th = getTabHost();//获取选项卡

2、LayoutInflater.from(this).inflate(https://www.360docs.net/doc/622275774.html,yout.main,

th.getTabContentView(),true) //获取布局文件

3、在选项卡中添加已有的布局:

th.addTab(th.newTabSpec("t1").setIndicator("软件

").setContent(R.id.tb1));

th.addTab(th.newTabSpec("t2").setIndicator("动漫",

getResources().getDrawable(R.drawable.ic_launcher)).setContent(R.id.tb2));

th.addTab(th.newTabSpec("t3").setIndicator("网络

").setContent(R.id.tb3));

18、滚动条(ScrollView)

1、创建

2、创建

3、中间是文本内容,最后结束

19、列表视图(ListView)

创建ListView(布局文件):

android:divider="@drawable/green"//每个选项之间的分界图片

android:id="@+id/lv1">

Activity(方法2):

findViewById

String [] arr= {"大师兄","fdasfd","dafa"};

ArrayAdapter arrayAdapter= new ArrayAdapter(this, https://www.360docs.net/doc/622275774.html,yout.simple_expandable_list_item_1,arr);

lv.setAdapter(arrayAdapter);

20、详解simple_list_item

1、simple_list_item_1:每一个列表项都是一个普通的TextView

2、simple_list_item_2:每一个列表项都是一个普通的TextView,字体略大,TextView显示标题,TextView显示内容,因此需要两组数据,并且指定每组数据和两个TextView的对应关系

3、simple_list_item_checked:每一个列表项都是一个已勾选的列表项

4、simple_list_item_multiple_choice:每一个列表项都是带多选项

5、simple_list_item_single_choice:每一个列表项都是带单选项

21、列表(ListView)

定义数组:String[] arr = { "刘德华", "张学友", "黎明", "郭富城" };

将数组中的内容添加到列表中:

List> data = new ArrayList>();

for (int i = 0; i < arr.length; i++) {

HashMap item = new HashMap();

item.put("num1", i); item.put("value1", arr[i]);

ata.add(item); }

SimpleAdapter adapter = new SimpleAdapter(this,

data,https://www.360docs.net/doc/622275774.html,yout.simple_list_item_2,

new String[]{"num1","value1"},

new int[]{android.R.id.text1,android.R.id.text2});

// 设置该窗口显示列表

setListAdapter(adapter);

形式二:

1、创建数组,以及对应图标:

private String[] names = new String[] { "唐伯虎", "祝枝山", "文征明", "徐祯卿" };

private int[] imageIds = new int[] { R.drawable.icon,

R.drawable.icon, R.drawable.icon, R.drawable.icon };

private String[] values = new String[]{"1","2","3","4"};

2、重写方法(onCreate(Bundle savedInstanceState))

// 创建一个List集合,List集合的元素是Map

List> listItems = new ArrayList>();

for (int i = 0; i < names.length; i++) {

Map listItem = new HashMap();

listItem.put("header", imageIds[i]);

listItem.put("personName", names[i]);

listItem.put("personInfo", values[i]);

listItems.add(listItem); }

// 创建一个SimpleAdapter

SimpleAdapter simpleAdapter = new SimpleAdapter(this, listItems,

https://www.360docs.net/doc/622275774.html,yout.main, new String[] { "personName", "header" ,"personInfo"},

new int[] { https://www.360docs.net/doc/622275774.html,, R.id.header,https://www.360docs.net/doc/622275774.html, });

ListView list = (ListView) findViewById(R.id.mylist);

// 为ListView设置Adapter

list.setAdapter(simpleAdapter);

main.xml配置文件:

22、类似QQ上的小表情(GridView)

1、//为GridView准备数据

int[] imageIds = new int[] { R.drawable.bomb5, R.drawable.bomb6,

R.drawable.bomb7, R.drawable.bomb8, R.drawable.bomb9,

R.drawable.bomb10, R.drawable.bomb11, R.drawable.bomb12,

R.drawable.bomb13, R.drawable.bomb14, R.drawable.bomb15,

R.drawable.bomb16 };

String[] infos = new String[]{"1","2","3","4","5","6","7","8","9","10","11","12"};

2、重写(onCreate(Bundle savedInstanceState

Android布局属性大全

Android布局属性大全 布局: AbsoluteLayout(绝对布局): xmlns:android="https://www.360docs.net/doc/622275774.html,/apk/res/android" style="@..." android:clipChildren="true|false" android:clipToPadding="true|false" android:layoutAnimation="@---" android:animationCache="true|false" android:persistentDrawingCache="none|animation|scrolling|all":持续高速缓存绘图 android:alwaysDrawnWithCache="true|false" android:andStatesFromChildre="true|false" android:descendantFocusability="beforeDescendants|afterDescendants|bl ocksDescendants":后裔可聚焦 android:id="@+id/absoluteLayout" android:tag="@---" android:android:scrollX="---" android:android:scrollY="---" android:background="@---" android:padding="----" android:paddingLeft="----" android:paddingTop="----" android:paddingRight="----" android:paddingBotton="---" android:focusable="true|false" android:focusableInTouchMode="true|false" android:visibility="visible|invisible|gone" android:fitsSystemWindows="true|false":适合系统窗口 android:scrollbars="none|horizontal|vertical" android:scrollbarStyle="insideOverlay(内覆盖)|insideInset(内插 图)|outsideOverlay(外覆盖)|outsideInset(外插图)" android:isScrollContainer="true|false":是一个滚动集合 android:fadeScrollbars="true|false":褪色的滚动条 android:scrollbarFadeDuration="---":卷轴淡出 android:scrollDefaultDelayBeforeFade="---":滚动前默认延迟 android:scrollbarSize="---" android:scrollbarThumbHorizontal="@----":拇指水平滚动条 android:scrollbarThumbVertical="@----":拇指垂直滚动条 android:scrollbarTrackVertical="@---":垂直滚动条轨道 android:scrollbarTrackHorizontal="@---":水平滚动条轨道 android:scrollbarAlwaysDrawHorizontalTrack="true|false":水平滚动条总是吸引轨道

android布局属性详解

RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” android:layout_below 在某元素的下方 android:layout_above 在某元素的的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐 android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐 android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐 android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐 第三类:属性值为具体的像素值,如30dip,40px android:layout_marginBottom 离某元素底边缘的距离 android:layout_marginLeft 离某元素左边缘的距离 android:layout_marginRight 离某元素右边缘的距离 android:layout_marginTop 离某元素上边缘的距离 EditText的android:hint 设置EditText为空时输入框内的提示信息。 android:gravity android:gravity属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.以button为例,android:gravity="right"则button上面的文字靠右 android:layout_gravity android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button 在

Android 开发之旅-view的几种布局方式及实践

Android 开发之旅:view的几种布局方式及实践 https://www.360docs.net/doc/622275774.html,/1943397/363552 2010-06-06 14:14:00 标签:布局 View 实践移动开发 Android 原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。 https://www.360docs.net/doc/622275774.html,/1943397/363552 引言 通过前面两篇: 1.Android 开发之旅:又见Hello World! 2.Android 开发之旅:深入分析布局文件&又是“Hello World!” 我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“Hello World!”程序来实践证明了。在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。View的布局显示方式有下面几种:线性布局(Linear Layout)、相对布局(Relative Layout)、表格布局(Table Layout)、网格视图(Grid View)、标签布局(Tab Layout)、列表视图(List View)、绝对布局(AbsoluteLayout)。本文虽然是介绍View的布局方式,但不仅仅是这样,其中涉及了很多小的知识点,绝对能给你带来Android大餐! 本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下: 1.1、View布局概述 2.2、线性布局(Linear Layout) 1. 2.1、Tips:android:layout_weight="1" 3.3、相对布局(Relative Layout) 4.4、表格布局(Table Layout) 5.5、列表视图(List View) 1. 5.1、一个小的改进 2. 5.2、补充说明 6.6、网格视图(Grid View) 7.7 、绝对布局() 8.8、标签布局(Tab Layout) 1、view的布局显示概述 通过前面的学习我们知道:在一个Android应用程序中,用户界面通过View和ViewGroup对象构建。Android中有很多种View和ViewGroup,他们都继承自View类。View对象是Android平台上表示用户界面的基本单元。 View的布局显示方式直接影响用户界面,View的布局方式是指一组View元素如何布局,准确的说是一个ViewGroup中包含的一些View怎么样布局。ViewGroup类是布局(layout)和视图容器(View container)的基类,此类也定义了https://www.360docs.net/doc/622275774.html,youtParams类,它作为布局参数的基类,此类告诉父视图其中的子视图想如何显示。例如,XML布局文件中名为layout_something的属性(参加上篇的4.2节)。我们要介绍的View的布局方式的类,都是直接或间接继承自ViewGroup类,如下图所示:

Android七种布局解析

我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“Hello World!” 程序来实践证明了。在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View 的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。View的布局显示方式有下面几种: 线性布局(Linear Layout)、 相对布局(Relative Layout)、 表格布局(Table Layout)、 网格视图(Grid View)、 标签布局(Tab Layout)、 列表视图(List View)、 绝对布局(AbsoluteLayout)。本文虽然是介绍View的布局方式,但不仅仅是这样,其中涉及了很多小的知识点,绝对能给你带来Android大餐! 本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下: ?1、View布局概述 ?2、线性布局(Linear Layout) o 2.1、Tips:android:layout_weight="1" ?3、相对布局(Relative Layout) ?4、表格布局(Table Layout) ?5、列表视图(List View) o 5.1、一个小的改进 o 5.2、补充说明 ?6、网格视图(Grid View) ?7 、绝对布局() ?8、标签布局(Tab Layout) 1、view的布局显示概述 通过前面的学习我们知道:在一个Android应用程序中,用户界面通过View和ViewGroup对象构建。A ndroid中有很多种View和ViewGroup,他们都继承自View类。View对象是Android平台上表示用户界面的基本单元。 View的布局显示方式直接影响用户界面,View的布局方式是指一组View元素如何布局,准确的说是一个ViewGroup中包含的一些View怎么样布局。ViewGroup类是布局(layout)和视图容器(View containe r)的基类,此类也定义了https://www.360docs.net/doc/622275774.html,youtParams类,它作为布局参数的基类,此 类告诉父视图其中的子视图想如何显示。例如,XML布局文件中名为layout_so mething的属性(参加上篇的4.2节)。我们要介绍的View的布局方式的类,都是直接或间接继承自ViewGroup类,如下图所示:

android布局layout中的一些属性(DOC)

android布局layout中的一些属性 1、可以使某些资源文件或UI组件可重用 2、定义一个文本编辑框,使用绝对定位 android:layout_x="20dip" android:layout_y="80dip" 3、控件位置 android:layout_centerHorizontal 控制该组件是否位于布局容器的水平居中位置android:layout_centerVertical 控制该组件是否位于布局容器的垂直居中位置android:layout_centerInParent 控制该组件是否位于布局容器的中央位置 android:layout_alignParentBottom 控制该组件是否与布局容器底端对齐 android:layout_alignParentLeft 控制该组件是否与布局容器左边对齐 android:layout_alignParentRight 控制该组件是否与布局容器右边对齐 android:layout_alignParentTop 控制该组件是否与布局容器顶端对齐 android:layout_toRightOf 控制该组件位于给出的ID组件的右侧 android:layout_toLeftOf 控制该组件位于给出的ID组件的左侧 android:layout_above 控制该组件位于给出的ID组件的上方 android:layout_below 控制该组件位于给出的ID组件的下方 android:layout_alignTop 控制该组件与给出的ID组件的上边界对齐 android:layout_alignBottom 控制该组件与给出的ID组件的下边界对齐 android:layout_alignLeft 控制该组件与给出的ID组件的左边界对齐 android:layout_alignRight 控制该组件与给出的ID组件的右边界对齐 4、设置单元格内的控件的形状(可压缩,可伸长,可隐藏等) android:shrinkColumns 设置该列的所有单元格的宽度可以被收缩,以保证该表格能够适应父容器宽度 android:stretchColumns 设置该列的所有单元格的宽度可以被拉伸,以保证组件能完全填满表格空余空间 android:collapseColumns 设置该列的所有单元格会被隐藏 5、TextView属性设置 设置字体为30pt android:textSize="30pt" 设置中间省略android:singleLine="true"android:ellipsize="middle" 对邮件增加链接android:autoLink="email"android:autoLink="email" 测试密码框android:password="true" 绘制一张图片android:drawableLeft="@drawable/icon" 6、EditText属性设置 当前组件在得到焦点的时候,自动选取该组件内的所有的文本内容 android:selectAllOnFocus="true"

Android开发TableLayout属性介绍

在android开发中,常见的布局方式有:LinearLayout (线性布局),RelativeLayout (相对布局),TableLayout (表格布局),AbsoluteLayout (绝对布局),FrameLayout (帧布局),今天我们主要介绍表格布局的相关属性。 TableLayout经常用到的属性有: android:collapseColumns:以第0行为序,隐藏指定的列: android:collapseColumns该属性为空时,效果如下图: 把android:collapseColumns=0,2--------------》意思是把第0和第2列去掉,如下图: android:shrinkColumns:以第0行为序,自动延伸指定的列填充可用部分: 当LayoutRow里面的控件还没有布满布局时,shrinkColumns不起作用,如下图: 设置了shrinkColumns=0,1,2,布局完全没有改变,因为LayoutRow里面还剩足够的空间。当LayoutRow布满控件时,如下图: 设置设置了shrinkColumns=2,则结果如下图,控件自动向垂直方向填充空间:

android:stretchColumns:以第0行为序,尽量把指定的列填充空白部分: 设置stretchColumns=1,则结果如下图,第1列被尽量填充(Button02与TextView02同时向右填充,直到TextView03被压挤到最后边)。 更多android开发视频入门教程,点此查看>> https://www.360docs.net/doc/622275774.html,/course/2/。

AndroidXML布局属性详解

各种Layout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” android:layout_below 在某元素的下方 android:layout_above 在某元素的的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐 android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐 android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐 android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐 第三类:属性值为具体的像素值,如30dip,40px android:layout_marginBottom 离某元素底边缘的距离 android:layout_marginLeft 离某元素左边缘的距离

android布局属性

android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText如果设置,将自动执行输入值的拼写纠正。 android:background 指定控件的背景色 android:bufferType指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符,也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式。 android:capitalize设置英文字母大写类型。 android:cursorVisible设定光标为显示/隐藏,默认显示。 android:digits设置允许输入哪些字符。如“1234567890.+-*/% ()” android:drawableBottom在text的下方输出一个drawable。如果指定一个颜色的话会把text 的背景设为该颜色,并且同时和background使用时覆盖后者。 android:drawableLeft在text的左边输出一个drawable。android:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。 android:drawableRight在text的右边输出一个drawable。 android:drawableTop在text的正上方输出一个drawable。 android:editable设置是否可编辑。 android:editorExtras设置文本的额外的输入数据。 android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:”start”---省略号显示在开头;”end”---省略号显示在结尾;”middle”---省略号显示在中间;”marquee” ---以跑马灯的方式显示(动画横向移动) android:ems设置TextView的宽度为N个字符的宽度。 android:freezesText设置保存文本的内容以及光标的位置。 android:gravity设置文本位置,如设置成“center”,文本将居中显示。 android:height设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米) android:hintText为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。android:imeOptions附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。 android:imeActionId设置IME动作ID。 android:imeActionLabel设置IME动作标签。 android:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true。android:inputMethod为文本指定输入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin android:inputType设置文本的类型,用于帮助输入法显示合适的键盘类型。 android:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据。 android:lineSpacingExtra设置行间距。 android:lineSpacingMultiplier设置行间距的倍数。如”1.2” android:linksClickable设置链接是否点击连接,即使设置了autoLink。 android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。 android:maxEms设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems 选项。

Android培训之五大布局讲解

Android培训之五大布局讲解 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。 LinearLayout: LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;如果是水平排列,那么将是一个单行N列的结构。如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个LinearLayout进行水平排列。 LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例。加入一行只有一个文本框,那么它的默认值就为0,如果一行中有两个等长的文本框,那么他们的 android:layout_weight值可以是同为1。如果一行中有两个不等长的文本框,那么他们的android:layout_weight值分别为1和2,那么第一个文本框将占据剩余空间的三分之二,第二个文本框将占据剩余空间中的三分之一。 FrameLayout: FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。显示效果如下,第一个TextView被第二个TextView 完全遮挡,第三个TextView遮挡了第二个TextView的部分位置。 AbsoluteLayout: AbsoluteLayout是绝对位置布局。在此布局中的子元素的 android:layout_x和android:layout_y属性将生效,用于描述该子元素的坐标位置。屏幕左上角为坐标原点(0,0),第一个0代表横坐标,向右移动此值增大,

Android界面布局简介

Android界面布局简介 绪论 开发一款应用,其界面布局是非常重要的,界面布局就像站队一样,布局好了,就是站队整齐,用户看起来就非常舒服,Android提供了几种常见的布局类型,包括AbsoluteLayout,FrameLayout,GridLayout,RelativeLayout,LinearLayout,TableLayout等,虽然这些布局非常简单,但是通过对这些布局的组合,嵌套,可以得到非常丰富的视图结构。 1.1 AbsoluteLayout(绝对布局) 在这中布局下,开发者需要明确地指定各个子视图在屏幕上的X/Y坐标。考虑到现在的设备多样性,这种布局不仅不灵活,而且很难确定一个视图的具体位置,因此在Android中的文档中,已经将其标识为deprecated(过时的)。下图1.1-1是用Eclipse开发Android应用中添加的一个AbsoluteLayout的xml 1.1—1 1.2 FrameLayout(帧布局) FrameLayout从屏幕中截取出一块区域用于显示单独的一项视图组件,通常FrameLayout仅仅包含一个视图,因为在不同设备中,包含多个视图时,不可避免出现子图叠加的现象。

在FrameLayout中,子视图以栈的形式进行绘制,最新添加的视图绘制在上面,FrameLayout的尺寸及可见性有其包含的最大子视图决定。 1.3GridLayput(网格布局) GridLayout是在API Level 14中才新添加的布局类型,它能够将一个视图按照网格的形式经行划分,并且以“格”为单位来为子视图分配空间,一个子视图可以占用一格也可以占用多格(通过属性rowSpan和columnSpan参数经行设置),这种布局使得多行多列的布局实现更加有效。 1.4 LinearLayou (线性布局) LinearLayout将所有的子视图按照一列或者一行的形式经行排列,默认的排列方式是水平的,可以通过setOrientation和setGravity方法或对应的属性具体对它的排列方式进行设置。通过嵌套使用LinearLayout开实现多行或多列的布局。 1.5 RelativeLayout(相对布局) RelativeLayout使得子视图使用相对关系作为参数来经行排列,常用的关系有:above(在某个视图上方),below(在某个视图下方),toLeftOf,toRightOf,alignBaseLine(与某个视图BaseLine对齐),alignBottom(与某个视图底部对齐)等。 1.6TableLayout(表格布局) 该布局与GridLayout有些类似,它以表格的形式组织其内部的子视图。

android 控件常用属性

第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” android:layout_below 在某元素的下方 android:layout_above 在某元素的的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐 android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐 android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐 android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐 第三类:属性值为具体的像素值,如30dip,40px android:layout_marginBottom 离某元素底边缘的距离 android:layout_marginLeft 离某元素左边缘的距离 android:layout_marginRight 离某元素右边缘的距离 android:layout_marginTop 离某元素上边缘的距离 EditText的android:hint 设置EditText为空时输入框内的提示信息。

android线性布局参数详解

android线性布局参数详解 https://www.360docs.net/doc/622275774.html,/trampou/article/details/5752533 线性布局中,有4个及其重要的参数,直接决定元素的布局和位置,这四个参数是android:layout_gravity (是本元素相对于父元素的重力方向) android:gravity (是本元素所有子元素的重力方向) android:orientation (线性布局以列或行来显示内部子元素) android:layout_weight (线性布局内子元素对未占用空间【水平或垂直】分配权重值,其值越小,权重越大。 前提是子元素设置了android:layout_width = "fill_parent" 属性(水平方向)或android:layout_height = "fill_parent"属性(垂直方向) 如果某个子元素的android:layout_width = "wrap_content" 或android:layout_height ="wrap_content”, 则android:layout_weight 的设置值对该方向上空间的分配刚好相反。 下面以一个简单例子来说明这4个参数

布局属性

布局: 在android中我们常用的布局方式有这么几种: 1.LinearLayout (线性布局):(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角) 线性布局分为水平线性和垂直线性二者的属性分别为:android:orientation= " horizontal " android:orientation= "vertical" 。 2.RelativeLayout (相对布局 ): (里面可以放多个控件,但是一行只能放一个控件) 附加几类RelativeLayout的属性供大家参考: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 若找不到兄弟元素以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” android:layout_below 在某元素的下方 android:layout_above 在某元素的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐 android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐 android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐 第三类:属性值为具体的像素值,如30dip,40px android:layout_marginBottom 离某元素底边缘的距离 android:layout_marginLeft 离某元素左边缘的距离 android:layout_marginRight 离某元素右边缘的距离 android:layout_marginTop 离某元素上边缘的距离 3.TableLayout (表格布局 ): (这个要和TableRow配合使用,很像html里面的table) 这个表格布局不像HTML中的表格那样灵活,只能通 过 TableRow 属性来控制它的行而列的话里面有几个控件就是几列(一般情况)。如:

Android 布局属性大全

RelativeLayout https://www.360docs.net/doc/622275774.html,/view/2e39724333687e21af45a97e.html?from=related&hasrec=1 https://www.360docs.net/doc/622275774.html,/view/d108da2fe2bd960590c677e2.html https://www.360docs.net/doc/622275774.html,/view/53e395f8770bf78a652954ce.html?from=related&hasrec=1 第一类:属性值为true可false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 android:layout_alignWithParentlfMissing 如果找不到对应的兄弟元素找不到,就以父元素做参照物。 第二类:属性值必须为id的引用名 android:layout_below 在某元素的下方 android:layout_above 在某元素的上方 android:layout_toLeftOf 在某元素的左边 Android:layout_toRightOf 在某元素的右边 android:layout_alignTop 本元素的上边缘和某元素的上边缘对齐 android:layout_alignLeft 本元素的左边缘和某元素的左边缘对齐 android:layout_alignBottom 本元素的下边缘和某元素下边缘对齐 android:layout_alignRight 本元素的右边缘和某元素右边缘对齐 第三类:属性值为具体的像素值班,如30dip android:layout_marginBottom 离某元素底边缘的距离 Android:layout_marginLeft 离某元素左边缘的的距离 Android:layout_marginRight 离某元素的右边缘的距离 Android:layout_marginTop 离某元素上边缘的距离 android:hint 设置EditText为空时输入的提示信息 android:gravity 对该view内容的限定:靠上下左右 android:layout_gravity="right" 用来设置该Container(组件)的靠左靠右 android:text 指定的控件当中显示的文字尽量使用string.xml文件当中的字符串Android:textSize 文字大小 Android:width 控件宽度 Android:height 控件高度 Android:layout_width 指定Container组件的宽度 Android:layout_height 指定Container组件的高度 View 按比例划分空间

Android页面布局小结

Andrioid布局: 在android中我们常用的布局方式有这么几种: 1.LinearLayout (线性布局):(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角) 线性布局分为水平线性和垂直线性二者的属性分别为:android:orientation= " horizontal "android:orientation= "vertical"。 2.RelativeLayout (相对布局):(里面可以放多个控件,但是一行只能放一个控件) 附加几类RelativeLayout的属性供大家参考: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentT op 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 若找不到兄弟元素以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” android:layout_below 在某元素的下方 android:layout_above 在某元素的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignT op 本元素的上边缘和某元素的的上边缘对齐android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐 android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐 第三类:属性值为具体的像素值,如30dip,40px android:layout_marginBottom 离某元素底边缘的距离 android:layout_marginLeft 离某元素左边缘的距离 android:layout_marginRight 离某元素右边缘的距离 android:layout_marginT op 离某元素上边缘的距离 3.T ableLayout (表格布局):(这个要和TableRow配合使用,很像html里面的table) 这个表格布局不像HTML中的表格那样灵活,只能通过TableRow 属性来控制它的行而列的话里面有几个控件就是几列(一般情况)。如:

android开发常用控件及布局

一、开发概述 Android的控件体系分为三个类别: 1、基本控件 2、布局 3、容器 这三类控件主要分布在两个包中: 1、android.view 提供抽象接口 2、android.widget 提供系统内置的大部分控件 整个系统得控件都继承自android.view.View ,而布局及容器类继承自android.view.ViewGroup。 基本控件主要包括ImageView、ProgressBar、SurfaceView、TextView、EditText等。 布局 虽然布局跟容器均继承自android.view.ViewGroup,但并不像SWT那样提供了面板+布局 的结构,而是每种Layout就是一中特殊的面板,包括AbsoluteLayout、Fram eLayout、 LinearLayout、TableLayout、RelativeLayout等。 容器 这里的容器是指采用了特定的布局并且提供了行为的控件,包含ListView、GridView、Gallery、 Spinner等。 二、android常用控件 android常用控件之TextView、EditView、Button、Menu 示例:一个计算应用程序,输入2个数字,点击按钮进行计算两个数的积并且返回结果。 当点击模拟器右侧的Menu按钮,在输入界面中显示一个有关于和退出的菜单。 项目运行效果图: 开发步骤: 1、新建一个Android项目 2、在布局文件中依次添加EditText、TextView、EditText、Button(一定要按照界面 上控件显示的顺序在布局文件中添加) 3、再新建一个布局文件用来显示计算的结果;在这个布局文件中添加一个LinearLayout 和一个TextView(默认的布局文件中默认就有一个LinearLayout,所以不需要手动添加, 新建的布局文件默认为空,所以需要手动添加) 4、编写第一个Activity a) 让Activity继承android的Activity b) 重写Activity的onCreate()方法 c) 设置这个Activity的布局文件 d) 根据控件id获得控件对象 e) 设置控件的值,这个值引用的是string.xml中的值,所以还需要在string.xml文件中 设置(最好是使用string.xml中的值,以便实现国际化);这个在布局文件中也能设置; 5、新建一个Activity,ResultActivity a) 让Activity继承android的Activity b) 重写Activity的onCreate()方法 c) 设置这个Activity的布局文件 d) 根据控件id获得控件对象 6、在第一个Activity中编写Button的监听器

相关主题
相关文档
最新文档