Android 基础资料整理.

来源:互联网 发布:2017勇士队数据 编辑:程序博客网 时间:2024/06/07 05:27

控件属性

1. TextView的属性

属性设置 值 android:id=”” 控件的id android:layout_width=”” 控件的宽度 warp_content:文本多宽,控件就多宽。在androidStudio中该属性不好用,会自动换行。
math_parent:铺满当前父类控件。2.3api之后添加的属性。
fill_parent:铺满当前父类控件。2.3api版本之前提那家的属性。
也可以用数值+单位’dp’,进行更改。 android:layout_height=”” 控件的高度 同宽度的值。 android:text=”” 文本内容 android:textsize=”” 文本大小 也可以用数值+单位’sp’,进行更改。 android:textColor=”” 文本颜色 FFFFFF android:background=”” 控件背景

2. EditText的属性
在TextView的基础上增加了个别属性:

属性设置 值 android:hint=”” 提示文本 android:textColorHint=”” 提示文本颜色 FFFFFF android:inputType=”” 输入文本类型

3. ImageView

属性设置 值 android:src=”” 内容图像 @drawable/ic_launcher android:background=”” 背景图像(背景色) @drawable/ic_launcher
#000 imageView.setBackgroundResource(isChecked?R.mipmap.meimei:R.mipmap.ic_launcher); //如果状态为true,则图片为R.mipmap.meimei,false为R.mipmap.ic_launcher

4. Button

属性设置 值 android:text=”“ 值 android:background=”” 背景图像(背景色) @drawable/ic_launcher
#000

5. ImageButton
在Button的基础上(除了text属性)增加了:

属性设置 值 android:src=”“ @drawable/ic_launcher 图片地址

res中的引用

属性 android:text=”@String/button_name” 配置 在values/Strings文件中配置:
<>String name=”button_name”登录<>/String 原因 所有res文件夹下的文件夹都会在gen/R.java文件中生成对应的值,所以我们可以用这种形式可以对其进行调用。

src和background的区别

src 图片不会随着控件的高和宽进行变化。 background 图片会随着控件的高和宽进行变化。

所有控件都有点击事件OnCLickListener()
监听事件
1. 匿名内部类
2. 独立类的实现
3. 实现接口的方式来实现
View是所有控件的父类
1. 在logcat中输出
Log.i(“tag”, “紫宸:你的按钮被点击了!!!”);
2. 设置视图的透明度为0.5f。0为不显示,1为全部显示。
view.setAlpha(0.5f);
3. 提示
Toast.makeText(MainActivity.this,”按钮被点击了”,1).show();
4. 滚动的TextView

属性设置 值 android:ellipsize=”marquee” 多出的文字以”…”代替省略的部分 android:singleLine=”true” 只在一行上输出 android:focusable=”true” 实现滚动 android:focusableInTouchMode=”true” 配合上面的属性实现滚动

5.AutoCompleteTextView

特有属性 1>功能:动态匹配输入的内容,如百度搜索引擎当输入文本时可以根据内容显示匹配的热门信息。 2>独特属性:android:completionThreshold=”2”,设置输入字符时自动匹配。 3>使用:看下面的代码片↓㊦
 //搜索引擎文本框 private AutoCompleteTextView acTextView; //模拟搜索次数最多的关键字 private String[] res = {"zichen1","zichen2","zichen3","zichen4","zichen5","zichen6","leishao1","leishao2","leishao3","leishao4","leishao5","leishao6"};acTextView = findViewById(R.id.acTextView);//上下文对象(如果不是在改点击事件之后,可以简写为this),布局(这是一个他自己生成的布局),资源(用户搜索次数最多的关键字的数据)ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,res);//给acTextView绑定适配器acTextView.setAdapter(adapter);

6. MultiAutoCompleteTextView

特有属性 1>功能:可支持多个值,在多次输入的情况下,分别用分隔符分隔开。例如发邮件或者发短信时的收件人 2>独特属性:android:completionThreshold="2" 设置多少字符是自动匹配。 3>设置分隔符:mtxt.setTokenizer(new MultiCompleteTextView.CommaTokenizer());

7. ToggleButton

特有属性 1.什么是ToggleButton:只有开关两种状态,并且每种状态都可以设置一个显示的文本。 android:checked="true"true默认为开的状态,false为关的状态。默认为false android:textOff="关" android:texton="开"
toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {            /**             *  根据状态进行改变             * @param toggleButtonView  可以监听所有的ToggleButton             * @param isChecked  判断当前按钮的状态             */            @Override            public void onCheckedChanged(CompoundButton toggleButtonView, boolean isChecked) {                    //如果状态为true,则图片为R.mipmap.meimei,false为R.mipmap.ic_launcher                    viewToggleState.setBackgroundResource(isChecked?R.mipmap.meimei:R.mipmap.ic_launcher);            }        });

8. CheckBox

属性 值 android:checked=”false” 默认为false
//此时多个CheckBox被点击时调用该方法,即可实现被点击的效果。当前类 implements CompoundButton.OnCheckedChangeListener 接口checkBox.setOnCheckedChangeListener(当前类名.this);checkBox1.setOnCheckedChangeListener(当前类名.this);            /**             *  根据状态进行改变             * @param toggleButtonView  可以监听所有的CheckBox             * @param isChecked  判断当前按钮的状态             */            @Override            public void onCheckedChanged(CompoundButton checkBoxView, boolean isChecked) {                    //如果状态为true,则图片为R.mipmap.meimei,false为R.mipmap.ic_launcher                    String text = checkBoxView.getText().toString();                    Log.i(text);            }

9. RadioGroup(多个RadioButton)
布局代码

<RadioGroup            android:id="@+id/radioGroup"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:orientation="horizontal">            <RadioButton                android:id="@+id/radioButton1"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="男"/>            <RadioButton                android:id="@+id/radioButton2"                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:text="女"/>        </RadioGroup>

java代码

radioGroup = findViewById(R.id.radioGroup);        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {            @SuppressLint("WrongConstant")            @Override            public void onCheckedChanged(RadioGroup radioGroup, int i) {                switch(i){                    case R.id.radioButton1:                        Log.i("tag","男");                        break;                    case R.id.radioButton2:                        Log.i("标志","女");                        break;                    default:                        break;                }            }        });

10. LinearLayout(线性布局)

属性 含义 android:orientation=”vertical” 该属性决定他自雷控件的排布方式(vertical:垂直;horizontal:水平) android:gravity=”center” 该属性决定他子类的xy的位置(center_vertical垂直居中;center_horizontal:水平居中;center:水平居中;right:右边;left:左边;bottom:下边) android:layout_weight=”2” 将布局分为2分,占其中的2分,例如高度为match_parent,则占得分数成反比;warp_content,按比例分割

11. RelativeLayout(相对布局)
属性图片1
属性图片2
12. FrameLayout(帧布局)
这里写图片描述
这里写图片描述
这里写图片描述
1
13. AbsoluteLayout(绝对布局)
1>AbsoluteLayout又叫做坐标布局,可以直接指定子元素的绝对位置。
2>由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差。

属性 – android:layout_x=”30dip” 控制当前子类控件的x位置 android:layout_y=”40dip” 控制当前子空间的y位置

14. TableLayout
TableLayout表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象。
这里写图片描述

属性 - android:layout_column=”1” 该控件显示在第二列 android:layout_span=”2” 该控件占据两列