Android开发之UI

来源:互联网 发布:芜湖网络推广公司 编辑:程序博客网 时间:2024/05/18 20:48

Android开发之UI

一、UI(User interface)概念

1、组成:android中UI通过 View (组件)和ViewGroup(容器)组成

2、层级结构

这里写图片描述

3、组件不能包含其他的东西的,容器是里面可以包含组件或容器

一、布局
二、常用控件

1、textview

text 显示的文本textSize 文本大小textColor 文本颜色maxLines 最大行数singleLine 是否单行显示ellipsize  实现跑马灯,多余文字显示成...ellipsize("middle")--一行中间有三个点;ellipsize("start")--一行开头有三个点;ellipsize("marquee")+focus+运行程序,实现跑马灯drawableLeft/drawableRight 显示图标textscale:字间距lineSpacingMultipier:行间距

显示HTML格式的数据:textview.settext(HTML.fromHtml(Stirng));

图文混排的实现:①SpannableStringBulder②Html.fromHtml(sb.tostring(),imageGetter,null);

设置下划线:①textview.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);

drawableleft功能:
设置图片的大小:
Drawable drawable1 = getResources().getDrawable(R.drawable.login_user);
drawable1.setBounds(0, 0, 40, 40);//第一0是距左边距离,第二0是距上边距离,40分别是长宽
editText1.setCompoundDrawables(drawable1, null, null, null);//只放左边

2、edittext

①TextView的子类
②hint 提示文字
③inputType 输入类型,可以设置成密码。inputType=“textPassword”
这里写图片描述
④addTextChangedListener在Editext有变化的时候的监听
et.requestFocus();//获取焦点 光标出现
mEditText.clearFocus();//失去焦点
⑦监听edittext焦点变化,当焦点获取后hasFocus为ture

etSearch.setOnFocusChangeListener(new View.OnFocusChangeListener() {            @Override            public void onFocusChange(View view, boolean hasFocus) {                if (hasFocus) {                    // 此处为得到焦点时的处理内容                 } else {                    // 此处为失去焦点时的处理内容                }            }        });

⑦在xml中控制光标的android:cursorVisible="true" true为显示,false为隐藏
⑧不自动获取焦点:父级控件上设置android:focusableInTouchMode="true"
⑨设置光标颜色:android:textCursorDrawable="#ff2244"
如果想让光标颜色和字体颜色一样:android:textCursorDrawable="@null"

3、Button

textview的子类

4、Imageview
ImageView:src 图片

加载文件中的图片:

File file  = new File(path);if(file.exists()){         Bitmap bm = BitmapFactory.decodeFile(path);        img.setImageBitmap(bm);}

5、Radiogroup
作用:将多个RadioButton组成一组,里面的单选按钮只能选一个
属性:orientation
方法:getCheckedRadioButtonId
监听器:OncheckedChangeListener,选择内部的RadioButton

6、radiobutton

特点:一组单选按钮只能选一个,通过RadioGroup包起来,通常要和RadioGroup配合使用
属性:

text  显示的文本checked 默认是否选中 :true | falsebutton="@null":隐藏小圆点OncheckedChangeListener:监听器

7、CheckBox

特点:一组复选框可以选多个
属性:

text  显示的文本checked 默认是否选中 :true | false

8、listview

9、GridView

10、scrollview

11、recyclerview

12、ExpandableListView

13、switch

14、FloatingActionButton

15、DatePicker

16、TimePicker

17、pickerMum

18、cartview

19、webview

20、对话框

21、进度条

22、侧滑菜单

23、seekbar

24、viewpager

25、tablayout

26、toggleButton

27、AutoCompleteTextView自动完成功能的可编辑文本控件

28、MultiAutoCompleteTextView支持自动完成功能的可编辑文本控件,允许输入多值(多值之间会自动地用指定的分隔符分开)

29、ZoomControls-放大/缩小钮控件

30、Include-整合控件

31、VideoView

32、VideoView视频播放控件

33、mediaplayer

34、RatingBar-评分控件

35、Spinner下拉框控件

36、Chronometer计时器控件

37、CountDownTimer

三、自定义view

四、样式和主题

作用:
①实现属性的复用
②实现风格的统一
③容易修改,容易维护

1、样式:用于设置组件的风格

使用步骤:
①在res/values/styles.xml定义样式

    <style name="">        <item name="属性名">属性值</item>    </style>

②在布局xml中引用

<组件标签        style="@style/xx"    />

2、主题:用于设置Activity界面的风格

使用步骤
①在res/values/styles.xml定义样式

<style name="" parent="">    <item name="属性名">属性值</item></style>

②在清单列表中引用

<activity        theme="@style/xx"    />

五、屏幕适配

1、基本概念

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 贴壁纸阴角不力怎么办 自贴墙纸有气泡怎么办 壁纸贴的有起泡怎么办 pos机连接主机失败怎么办 无线pos机连接主机失败怎么办 水墨晕染模板用不了怎么办 申请入驻饿了么失败怎么办 天猫流量大淘宝怎么办 拼多多商家不退款怎么办 苹果手机开流量显示e怎么办 苹果手机有服务流量打不开怎么办 苹果七plus流量打不开怎么办 苹果手机突然打不开流量怎么办 天猫商家迟迟不发货怎么办 苹果7开不开机了怎么办 苹果机黑屏了开不起来怎么办 美团收银机连不上网怎么办 6s换电池后黑屏怎么办 苹果上的软件打不开也删不掉怎么办 苹果手机打开软件打不开怎么办 苹果电脑下载的软件打不开怎么办 苹果手机下载的软件都打不开怎么办 苹7果屏幕黑屏怎么办 苹果6s手机打不开怎么办 苹果ipad密码输入打不开怎么办 苹果平板黑屏了打不开怎么办 苹果6sp电影商城打不开怎么办 苹果6应用商城打不开怎么办 游戏下载好了安装不上怎么办 苹果5s应用商店不见了怎么办 id被停用手机白板打不开怎么办 苹果6s下载不了软件怎么办 苹果下载的软件打不开怎么办 苹果6s下不了app怎么办 苹果手机因为闪退打不开了怎么办 天猫方糖坏了怎么办 天猫魔盒的遥控器坏了怎么办 天猫盒子没声音怎么办 天猫魔盒播放声音很低怎么办 天猫魔盒3a卡顿怎么办 天猫网络机顶盒打不开了怎么办