Android界面——控件和布局
常用控件
常用控件:TextView、Button、EditText、ImageView(图片)、ProgressBar(进度)、AlertDialog与ProgressDialog。
1.ProcessBar默认转圈圈,如果要设置为进度条,在layout的ProgressBar里添加:
style="?android:attr/progressBarStyleHorizontal"android:max="100"
另外,可以通过getVisibility()方法判断ProgressBar是否可见:View.VISIBLE(可见),View.INVISIBLE(不可见),View.GONE(隐藏)。invisible与gone的区别是gone不保留progress bar的空间,invisible保留。
2.AlertDialog与ProgressDialog。
效果都是弹出对话框,但是ProgressDialog对话框里有进度条,AlertDialog一般用做提示重要内容。
属性:
gravity:指定文字的对齐方式,如top、bottom、left、right、center。gravity里可以用“|”指定多个值,如“center_vertical|center_horizontal”表示文字垂直居中+水平居中。
layout_gravity/:指定控件的对齐方式。
text、textColor、textAllCaps没啥好说的,字面意思。
textSize:指定文字大小,单位是“sp”。
hint:提示,android:hint=“按某某某格式输入。”
maxLines:规定最多有几行。
background:设定背景,android:background="@drawable/某某某.img"。
四种基本布局
线性布局、相对布局、帧布局、百分比布局(分为帧百分比布局和相对百分比布局)。
1.线性布局:水平线性排列(horizontal)、垂直线性排列(vertical)
2.相对布局:
(1)相对父类
android:layout_alignParentLeft=“true”
还有alignParentRight、alignParentTop、alignParentBottom、centerParent。
(2)相对某一控件
android:layout_above="@id/控件id",相对控件上面
android:layout_below="@id/控件id",相对控件下面
还有toLeftOf、toRightOf。
3.帧布局
布局不方便,默认所有东西都堆叠在左上角。
4.百分比布局——PercentFrameLayout、PercentRelativeLayout
线性布局有layout_weight,可以按照比例布局,但是帧布局和相对布局没有。百分比布局就相当于在原有布局的基础上扩展了百分比功能。
使用:(1)在"app/build.gradle"的dependence闭包里添加下面这一行,然后点击提示的“Sync Now”。
implementation 'com.android.support:percent:x.x.x'
注意:新版本用implementation,旧版本用compile。x.x.x对应自己appcompat版本号(appcompat在dependencies里找)。
(2)在layout头部引用“xmlns:app",然后就可以在控件里用下面两行控制大小,用原有的android:layout_gravity控制摆放位置。
app:layout_widthPercent="xx%"app:layout_heightPercent="x%"
自定义控件
引用布局
1.新建layout,设计、编辑布局
2.引用.。其它布局里:
3.隐藏系统自带的标题栏
ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.hide(); }
自定义控件
编辑上面引用布局的逻辑,像普通的Activity一样,但是这个继承自引用布局的Layout。
通过LayoutInflater的from()方法构建一个LayoutInflater对象,然后通过inflate()动态加载。
注意:OnClickListener首字母大写。某人傻了吧唧的首字母小写,半天没补全。
public class TitleLayout extends LinearLayout { public TitleLayout(Context context, AttributeSet attributeSet) { super(context, attributeSet); LayoutInflater.from(context).inflate(R.layout.title,this); Button titleBack = (Button) findViewById(R.id.title_back); titleBack.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ((Activity) getContext()).finish(); } }); }}
ListView、RecycleView下回分解。
更多相关文章
- Android实现环形进度条的实例
- androidUI控件下载地址
- 小视频源码,android 判断布局是否为RTL布局
- android DrawerLayout 点击穿透、点击自身消失等问题解决
- Android(安卓)在Fragment 中控制 Activity 的控件隐藏和显示
- Android(安卓)布局添加阴影背景ShadowDrawable
- Android常用的输入框
- Android(安卓)单选之史上最简单的ListView实现单选效果
- Android列表分页功能的实现,往下拉时刷新数据(显示正在加载中)