构建用户界面 Android 应用中一些常用的小部件
1. TextView 显示文本信息
<TextViewandroid:id="@+id/textOne"android:layout_width="200dp"android:layout_height="200dp"android:gravity="center"android:text="TextView(显示框)"android:textColor="#EA5246"android:textStyle="bold|italic"android:background="#000000"android:textSize="18sp" />
id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行相关属性的设置,又或者使用RelativeLayout时,参考组件用的也是id!
layout_width:组件的宽度,一般写:**wrap_content**或者**match_parent(fill_parent)**,前者是控件显示的内容多大,控件就多大,而后者会填满该控件所在的父容器;当然也可以设置成特定的大小,比如我这里为了显示效果,设置成了200dp。
layout_height:组件的高度,内容同上。
gravity:设置控件中内容的对齐方向,TextView中是文字,ImageView中是图片等等。
text:设置显示的文本内容,一般我们是把字符串写到string.xml文件中,然后通过@String/xxx取得对应的字符串内容的,这里为了方便我直接就写到""里,不建议这样写!!!
textColor:设置字体颜色,同上,通过colors.xml资源来引用,别直接这样写!
textStyle:设置字体风格,三个可选值:**normal**(无效果),**bold**(加粗),**italic**(斜体)
textSize:字体大小,单位一般是用sp!
background:控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片哦!
2. EditText 文本编辑
<EditText android:id="@+id/editOne"android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TypeHere"android:textColor="#EA5246"android:textStyle="bold|italic"android:textSize="18sp" android:hint="Type"android:gravity="center" > <requestFocus />
</EditText>
android:hint="默认提示文本"
android:textColorHint="#95A1AA"
<requestFocus /> //获取焦点
android:minLines="3" //设置最小行的行数
android:maxLines="3" //设置最大行的行数android:singleLine="true" //实现单行输入不换行android:textScaleX="1.5" //设置字与字的水平间隔
android:textScaleY="1.5" //设置字与字的垂直间隔android:paddingTop = "5dp" //组件内文字和组件边框的距离
3. Button 普通按钮
<Buttonandroid:id="@+id/btnOne"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/ic_launcher"android:text="按钮"/>
4. ImageButton 图片按钮
<ImageButtonandroid:id="@+id/imageButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/ic_launcher"/>
5. ToggleButton 开关按钮
<ToggleButtonandroid:id="@+id/toggleButton"android:layout_width="match_parent"android:layout_height="wrap_content"android:checked="true" //将按钮设置为ON状态android:textOff="关闭声音"android:textOn="打开声音" />
6. RadioButton 单旋钮,选中之后不能取消
<RadioButtonandroid:id="@+id/btnMan"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="男"android:checked="true"/>
7. RadioGroup 单选按钮组
<RadioGroupandroid:id="@+id/radioGroup"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"><RadioButtonandroid:id="@+id/btnMan"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="男"android:checked="true"/><RadioButtonandroid:id="@+id/btnWoman"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="女"/>
</RadioGroup>
8. CheckBox 复选框,选中后可以取消
<CheckBoxandroid:id="@+id/checkBox0"android:layout_width="match_parent"android:layout_height="wrap_content"android:checked="true"android:text="唱歌" />
9. Spinner 下拉列表
<Spinnerandroid:id="@+id/spin_one"android:layout_width="match_parent"android:layout_height="wrap_content"android:entries="@array/data"android:prompt="@string/spin_title"android:spinnerMode="dropdown" />
//在res/values下编写一个:myarrays.xml的文件
<string-array name="data"><item>帅哥</item><item>美女</item><item>大神</item>
</string-array>
10. ListView 显示列表,可以垂直滚动
<ListViewandroid:id="@+id/list_view"android:layout_width="match_parent"android:layout_height="match_parent"android:entries="@array/data" >
</ListView>
11. ImageView 显示图像
<ImageViewandroid:id="@+id/imageView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/ic_launcher" /><ImageViewandroid:id="@+id/imageView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/map" />
12. ScrollView 垂直滚动布局
<ScrollViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:scrollbars="horizontal" ><LinearLayoutandroid:layout_width="500sp"android:layout_height="match_parent"android:orientation="vertical" ><ImageViewandroid:layout_width="500sp"android:layout_height="wrap_content"android:src="@drawable/map" /><ImageViewandroid:layout_width="500sp"android:layout_height="wrap_content"android:src="@drawable/map" /><ImageViewandroid:layout_width="500sp"android:layout_height="wrap_content"android:src="@drawable/map" /><ImageViewandroid:layout_width="500sp"android:layout_height="wrap_content"android:src="@drawable/map" /></LinearLayout>
</ScrollView>
13. WebView 显示网页
//添加网络权限
<uses-permission android:name="android.permission.INTERNET" /><WebViewandroid:id="@+id/webview"android:layout_width="match_parent"android:layout_height="match_parent" />//在activity
public class MainActivity extends Activity {WebView webView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);webView = (WebView) findViewById(R.id.webview);//加载网页链接webView.loadUrl("https://www.baidu.com");}
}
二、视图组
1. 线性布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="horizontal" ><TextViewandroid:id="@+id/textOne"android:layout_width="wrap_content"android:layout_height="fill_parent"android:layout_weight="0"android:background="#000000"android:text="Text1"android:textColor="#EA5246"android:textSize="18sp"android:textStyle="bold|italic" /><TextViewandroid:id="@+id/textTwo"android:layout_width="wrap_content"android:layout_height="fill_parent"android:layout_weight="1"android:background="#00aa00"android:text="Text2"android:textColor="#EA5246"android:textSize="18sp"android:textStyle="bold|italic" /><TextViewandroid:id="@+id/text3"android:layout_width="wrap_content"android:layout_height="fill_parent"android:layout_weight="2"android:background="#000000"android:text="Text3"android:textColor="#EA5246"android:textSize="18sp"android:textStyle="bold|italic" /><TextViewandroid:id="@+id/text4"android:layout_width="wrap_content"android:layout_height="fill_parent"android:layout_weight="3"android:background="#00aa00"android:text="Text4"android:textColor="#EA5246"android:textSize="18sp"android:textStyle="bold|italic" /></LinearLayout>
2.表格布局
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/TableLayout1"android:layout_width="fill_parent"android:layout_height="fill_parent"android:stretchColumns="0" ><TableRow><TextViewandroid:id="@+id/row1_text0"android:padding="3dip"android:text="row1-text0" /><TextViewandroid:id="@+id/row1_text1"android:padding="3dip"android:text="row1-text1" /></TableRow><TableRow><TextViewandroid:id="@+id/row2_text0"android:padding="3dip"android:text="row2-text0" /><TextViewandroid:id="@+id/row2_text1"android:padding="3dip"android:text="row2-text1" /><TextViewandroid:id="@+id/row2_text3"android:padding="3dip"android:text="row2-text3" /></TableRow><Viewandroid:layout_height="2dip"android:background="#FF909090" /><TableRow><TextViewandroid:id="@+id/row3_text0"android:padding="3dip"android:text="row3-text0" /><TextViewandroid:id="@+id/row3_text1"android:padding="3dip"android:text="row3-text1" /></TableRow></TableLayout>
android:stretchColumns="0" //设置第一列为可拉伸列,让该列填满这一行所有的剩余空间
android:collapseColumns="0,2" //隐藏第一与第三列
android:shrinkColumns="1" //设置第二个列为可收缩列
3.框架布局
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/FrameLayout1"android:layout_width="fill_parent"android:layout_height="fill_parent"android:foreground="@drawable/ic_launcher" ><TextViewandroid:id="@+id/text1"android:layout_width="200dp"android:layout_height="200dp"android:background="#FF6143" /><TextViewandroid:id="@+id/text2"android:layout_width="150dp"android:layout_height="150dp"android:layout_gravity="bottom"android:background="#7BFE00" /><TextViewandroid:id="@+id/text3"android:layout_width="100dp"android:layout_height="100dp"android:background="#FFFF00" /></FrameLayout>
4.相对布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/RelativeLayout1"android:layout_width="match_parent"android:layout_height="match_parent" ><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:text="Enter your name :"android:textSize="20dip" /><EditTextandroid:id="@+id/editText1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentRight="true"android:layout_below="@+id/textView1"android:layout_marginTop="16dp"android:ems="10" ><requestFocus /></EditText><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/editText1"android:layout_toLeftOf="@+id/button2"android:text="Cancel" /><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignBaseline="@+id/button1"android:layout_alignBottom="@+id/button1"android:layout_alignParentRight="true"android:layout_marginRight="20dp"android:text="Save" /></RelativeLayout>
5.绝对布局
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_x="0px"android:layout_y="0px"android:text="按钮1" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_x="200dp"android:layout_y="6dp"android:text="按钮3" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_x="1dp"android:layout_y="142dp"android:text="按钮2" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_x="199dp"android:layout_y="142dp"android:text="按钮4" /></AbsoluteLayout>
构建用户界面 Android 应用中一些常用的小部件相关推荐
- android 布局 站位符,基于android布局中的常用占位符介绍
大家在做布局文件是肯定会遇到过下面的这种情况 填充出现问题,所以需要用到占位符规范填充 汉字常用占位符: android:layout_width="wrap_content" a ...
- android 多个占位符,基于android布局中的常用占位符介绍
大家在做布局文件是肯定会遇到过下面的这种情况 填充出现问题,所以需要用到占位符规范填充 汉字常用占位符: android:layout_width="wrap_content" a ...
- 在Qt Designer中使用自定义Widgets小部件
在Qt Designer中使用自定义Widgets 在Qt Designer中使用自定义Widgets 处理自定义Widgets小部件 推广Widgets小部件 用户定义的自定义小部件 在Qt Des ...
- 串口通信中一些常用的小工具
文章目录 1.逻辑分析仪下的串口数据 2.数字转字符串函数 3.字符串转整数 4.字符串转浮点数 5.测试转换方法 6.空闲中断DMA接收不定长数据 7.高频数据收发测试 本文总结下串口通信的一些小技 ...
- excel的if函数中android,excel中if函数使用小技巧分享
excel中if函数使用小技巧分享[案例实操] 今天有同事问到笔者一个问题:"在EXCEL中,如何使用函数实现如下功能:在A1单元格填写A,B1单元格自动填写100,当A1单元格的内容更改为 ...
- 教你在Yii2.0框架中如何创建自定义小部件
本教程将帮助您创建自己的自定义小部件在 yii framework 2.0.部件是可重用的模块和用于视图. 创建一个小部件,需要继承 yii\base\Widget,覆盖重写 yii\base\Wid ...
- 谷歌的json解析器Gson在Android/Java中的常用工具类
gson解析器,可实现子类和json字符串之间互转 package com.hulk.ues.core;import android.text.TextUtils; import android.ut ...
- 入门Mac快捷键详细分类整理,包括Eclipse和Android Studio中一些常用的快捷键
[通用] control(^) shift(⇧) ⬆️ option/alt (⌥) command(⌘) fn 副功能键 [效率] 1.编辑 control + space 切换输入法(改键:a ...
- Android Studio中Eric常用的快捷键
1 致谢 感谢 2 前言 Android Studio(以下简称为"AS")中有许多好用的快捷键 有些事Eric用的比较多的 这里就把他们归纳一下 3 Eric觉得好用的快捷键 A ...
最新文章
- 参加Java培训需要注意哪些
- python生成式、生成器和迭代器
- 可观测性与原生云监控
- GitHub 接连封杀开源项目惹众怒,CEO 亲自道歉!
- v-for能倒序遍历吗_神级遍历——morris
- 【WPF】关于XAML Parse Exception,无法创建XXX的实例异常的一点小心得
- PAT乙级 1031 查验身份证 (15 分)
- instanceof和typeof
- Ubuntu16.04安装ros kinetic版本
- ArcGIS 城市生活区用地适宜性评价(一)
- Eclipse 修改项目名称
- Android SDK环境变量配置(windows和Linux)
- mysql读写分离延迟_解决Mysql读写分离数据延迟
- html页面显示不全问题,网页显示不完全
- DES加密解密算法(简单、易懂、超级详细)
- 谷歌VR展示360度全景图
- Oracle中并行parallel详解
- 【NLP】文本情感分析
- PyTorch基础:神经网络工具箱torch.nn(优化器nn.optim)
- [极致用户体验] 微信设置大字号后,iOS加载网页时闪动怎么办?
热门文章
- php 发送http请求
- PowerBI新功能: 自定义数据连接器(Data Connector)
- 《Visual C++数字图像模式识别技术详解(第2版)》一3.4 形状特征
- ecshop 删除订单时提示“以下订单无法被移除”的解决办法
- 用VS2005开发Sharepoint工作流,出现此安装不支持该项目类型。的处理
- SQL SERVER DBCC 命令集整理
- 新元素之hgroup,header,footer,address,nav
- djngo快速实现--使用Bootstrap
- muduo之ThreadLocal
- ARM汇编:乘法指令集