常用控件

常用控件: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下回分解。

更多相关文章

  1. Android实现环形进度条的实例
  2. androidUI控件下载地址
  3. 小视频源码,android 判断布局是否为RTL布局
  4. android DrawerLayout 点击穿透、点击自身消失等问题解决
  5. Android(安卓)在Fragment 中控制 Activity 的控件隐藏和显示
  6. Android(安卓)布局添加阴影背景ShadowDrawable
  7. Android常用的输入框
  8. Android(安卓)单选之史上最简单的ListView实现单选效果
  9. Android列表分页功能的实现,往下拉时刷新数据(显示正在加载中)

随机推荐

  1. 日拱一卒(五十九)
  2. Android客户端和服务器端数据交互的第一
  3. 關於ANDROID模擬器訪問本地網站
  4. 如何查看Android的ANR(无响应)异常
  5. Android中使用定时器TimerTask类介绍
  6. Android中的Drawable基础与自定义Drawabl
  7. android第二天晚:电话和短信
  8. HTML5 实现Android app样例
  9. Android实现图片轮播
  10. Android(安卓)display架构分析(四)