这篇文章继续写表面看得到的东西。常见的控件。
1.搜索框
SearchView是Android原生的搜索框控件,可以很方便的添加到用户界面中,用于用户的搜索查询功能。但是SearchView的UI是固定的,自定义起来比较麻烦,如果对SearchView的要求比较高,还是使用EditText和Button自定义实现。
基本布局代码:
<SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:queryHint="搜索">
</SearchView>
属性:
属性名称 | 相关方法 | 描述 |
---|---|---|
android:iconifiedByDefault | setIconifiedByDefault(boolean) | 设置搜索图标是否显示在搜索框内 |
android:imeOptions | setImeOptions(int) | 设置输入法搜索选项字段,默认是搜索,可以是:下一页、发送、完成等 |
android:inputType | setInputType(int) | 设置输入类型 |
android:maxWidth | setMaxWidth(int) | 设置最大宽度 |
android:queryHint | setQueryHint(CharSequence) |
设置查询提示字符串 |
2文本框:用于显示文本。
<TextView
android:id="@+id/textView"
android:layout_width="200dp"
android:layout_height="200dp"
android:gravity="center"
android:text="TextView"
android:textColor="#111111"
android:textStyle="bold|italic"
android:background="#000000"
android:layout_centerInParent="true"
android:shadowColor="#F9F900"
android:shadowDx="10.0"
android:shadowDy="10.0"
android:shadowRadius="3.0"
android:textSize="18sp" />
TextView.setText(),给textview设置文本。
3.输入框
布局:
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="默认提示文本"
android:textColorHint="#111111"//设置文本颜色
android:selectAllOnFocus="false"//点击文本框不会选中已输入的文字。
android:inputType="none" //不限制输入文本的类型
android:minLines="1"//设置输入框的最小行数
android:maxLines="3"//最大行数
android:textScaleX="1" //设置字与字的水平间隔
android:textScaleY="1" //设置字与字的垂直间隔
android:capitalize="sentences"//设置第一个字母大写
/>
4.按钮button
按钮是TextView的子类。分为普通按钮和ImageButton图像按钮。
- drawable:引用的Drawable位图,我们可以把他放到最前面,就表示组件的正常状态〜
- state_focused:是否获得焦点
- state_window_focused:是否获得窗口焦点
- state_enabled:控件是否可用
- state_checkable:控件可否被勾选,例如:复选框
- state_checked:控件是否被勾选
- state_selected:控件是否被选择,针对有滚轮的情况
- state_pressed:控件是否被按下
- state_active:控件是否处于活动状态,例如:slidingTab
- state_single:控件包含多个子控件时,确定是否只显示一个子控件
- state_first:控件包含多个子控件时,确定第一个子控件是否处于显示状态
- state_middle:控件包含多个子控件时,确定中间一个子控件是否处于显示状态
- state_last:控件包含多个子控件时,确定最后一个子控件是否处于显示状态
5.ImageView
android:background="@drawable/123" //设置的是背景,根据ImageView给定的宽度来进行拉伸,填充整个ImageView
android:src="@drawable/123" //设置的是内容,按照图片大小直接填充,不会对图片进行拉伸(写这句话的时候我还纠结了一下填充和填满是不是一个意思……想了想应该不是一个意思,填充就是指往里填的动作)
用于设置缩放时是否保持原图长宽比:
android:adjustViewBounds="true"
android:maxHeight:设置ImageView的最大高度
android:maxWidth:设置ImageView的最大宽度
android:scaleType用于设置显示的图片如何缩放或者移动以适应ImageView的大小 Java代码中可以通过imageView.setScaleType(ImageView.ScaleType.CENTER);来设置~ 可选值如下:
- fitXY:对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,但是图片的横纵比可能会发生改变
- fitStart:保持纵横比缩放图片,知道较长的边与Image的编程相等,缩放完成后将图片放在ImageView的左上角
- fitCenter:同上,缩放后放于中间;
- fitEnd:同上,缩放后放于右下角;
- center:保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。
- centerCrop:保持横纵比缩放图片,知道完全覆盖ImageView,可能会出现图片的显示不完全
- centerInside:保持横纵比缩放图片,直到ImageView能够完全地显示图片
- matrix:默认值,不改变原图的大小,从ImageView的左上角开始绘制原图, 原图超过ImageView的部分作裁剪处理
6.RadioButton
单选按钮,就是在一堆按钮里只能够选中一个按钮,所以需要把RadioButton放到RadioGroup按钮组中,从而实现单选功能。
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"/>
</RadioGroup>
CheckBox 复选框
可以同时选中多个选项,至于获得选中的值,同样有两种方式: 1.为每个CheckBox添加事件:setOnCheckedChangeListener 2.弄一个按钮,在点击后,对每个checkbox进行判断:isChecked();