zoukankan      html  css  js  c++  java
  • [APP] Android 开发笔记 004-Android常用基本控件使用说明

    • TextView 文本框
    • EditText控件
    • Button 与 ImageButton
    • ImageView
    • RadioButton
    • CheckBox复选框

    TextView 文本框

        ,用于显示文本的控件
        1) 代码
        <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Hello World, MyActivity"
        />

         2)TextView的常用属性:

            -id: 为TextView设置一个组件id,根据id,我们可以在Java代码中获取到该对象,然后进行相关属性的设置
            -layout_ 组件宽度,一般有3种属性 wrap_content ,match_parent 和自己输入宽度
                wrap_content表示根据组件大小确定宽度即组件包含文字所占宽度越多,组件越宽;
                match_parent表示填满该组件的父容器即包含了该组件的组件如代码中的LinearLayout ;
            -layout_hight: 组件高度,一般也有3种属性,同上;
            -gravity: 设置控件中内容的对齐方向,即文字内容的对齐方向;
            -text: 设置显示的文本内容(建议把字符串写到values/string.xml文件中,然后使用@String/xxx的方式获取 , 也可以直接写在""中);
            -textColor: 设置文本的颜色(后面会附上常用颜色码);
            -textStyle: 设置文本显示风格,三个可选属性 normal(无效果) ,bold(加粗) ,italic(斜体);
            -background: 控件背景颜色,即填充整个控件的颜色;

        3)在textview控件中引入string.xml中写好的文本的方法:

            第一步:现在string.xml文件中加入你要显示的文本,并命名:

                <?xml version="1.0" encoding="utf-8"?>
                <resources>
                    <string name="app_name">MyActivity</string>
                    <string name="hello">hello ,你好</string>
                </resources>

            第二步:然后在控件中引入:

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/hello"
                    />


    EditText控件  

     ,与TextView控件类似,最大的区别就是EdiText允许用户输入

        1) 代码
                <EditText
                android:id="@+id/eidt"
                android:layout_width="200dp"
                android:layout_height="wrap_content"
                />
         2)EditText常用属性:
                -id: 为EditText设置一个组件id;
                -layout_weith: 设置控件的宽度;
                -layout_hight: 设置控件的高度;                

                -inputType(textPassword): 设置输入内容为密码;
                -inputType(Phone): 设置输入的内容为号码;
                -maxLength: 设置输入的最大文本数, 参数为数字例如 android:maxLength=“5”;
                -maxLines: 设置最大行数,参数为数字;
                -minLines: 设置最小行数,参数为数字;
                -hint: 设置默认提示文本;
                -textColorHint: 设置默认提示文本颜色;
                -capitalize: 设置英文字母大小写属性,参数包含:
                sentences: 仅第一个字母大写
                words: 单词首字母大写
                characyers: 全部字母大写;
        3) EditText控件的绑定:
            绑定控件的方法也都一样,在onCreate方法中使用findViewById()方法:

            public class MyActivity extends Activity {
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                //绑定main.xml文件中的EdiText控件
                EditText editText = (EditText) findViewById(R.id.edit);
                }
            }

        4) EditText获取用户输入:

            绑定后获取用户的输入很容易,使用getText()方法即可:

            editText.getText();//获取用户输入的方法

            值得一提的是这个方法直接写在绑定好的EditText语句后面是不行的!准确的说是获取不到输入的内容,我们需要一个 触发事件在输入完成后再触发获取输入的方法,就能正常拿到数据啦!下面看代码:

                EditText editText;
                TextView text;
                @Override
                protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_main);
             
                    editText = (EditText) findViewById(R.id.edit);
                    text = (TextView) findViewById(R.id.text);
             
                    text.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            text.setText(editText.getText());;
                        }
                    });
             
                }

            text.setOnClickListener()方法是text监听方法.用来监听TextView的点击事件。
            整个流程就是在输入文本后点击text然后text的文本就会被替换成你输入的文本.


    Button 与 ImageButton


        本节学习Android基本控件按钮控件,Button和ImageButton用法基本类似,所以本节重点讲解Button控件。

        1)代码:

           <Button
                android:id="@+id/btn"
                android:text="普通按钮"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

        2)Button的其他常用属性:

        -background 背景 可以是颜色或者图片或这xml资源
        -text        按钮显示的文字
        -textColor    按钮文字颜色
        -textSize    按钮文字大小

        3)Button控件的绑定和监听:

        绑定

            btn = (Button) findViewById(R.id.btn);

        监听的方法很常用

                    btn.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Toast.makeText(MainActivity.this , "button 被按下" , Toast.LENGTH_LONG).show();
                    }
                });

        4)Toast方法是常见的黑色提示框,自动消失。

            完整代码:

        
            public class MainActivity extends Activity {
             
                private Button btn;//声明全局变量
                @Override
                protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_main);
             
                    //绑定控件
                    btn = (Button) findViewById(R.id.btn);
                    //监听控件
                    btn.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            Toast.makeText(MainActivity.this , "button 被按下" , Toast.LENGTH_SHORT).show();
                        }
                    });
                }
            }


    ImageView


        ,ImageView 图像视图,顾名思义,是一个用来显示图片的控件。

        1)代码:

        <ImageView
                android:id="@+id/imageview"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_launcher"/>

        2)ImageView的常用属性:

        -background 设置控件背景    当固定宽度时会拉伸图片
        -src        设置控件填充内容    固定宽度时不会拉伸图片



        3)绑定

        img = (ImageView) findViewById(R.id.imageview);

        ImageView没有啥监听方法,一般ImageView用来实现app的图片轮播功能。这会用到修改图片显示的方法

        常用的修改方法:

            -setImageResource(int id);    使用内部资源图片替换默认图片,id为R.drawable.图片名称
            -setImageBitmap(Bitmap bitmap);    使用bitmap 替换默认图片,bitmap一般通过网络获取

        使用方法:

            img.setImageResource(R.mipmap.ic_launcher);


    RadioButton


        ,RadioButton单选按钮,就是几个选项只能选中一个。 因此我们要把RadioButton放到RadioGroup按钮组中,从而实现 单选功能!

        1)代码:

         <RadioGroup
                android:id="@+id/radioGroup"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal">
         
                <RadioButton
                    android:id="@+id/btnMan"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="男"
                    android:checked="true"/>
         
                <RadioButton
                    android:id="@+id/btnWoman"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="女"/>
            </RadioGroup>

        2)控件的监听方法:

            ReadioGroup监听方法:setOnCheckedChangeListener()

        3)获取选择的值的方法:getText()

                RadioGroup radgroup = (RadioGroup) findViewById(R.id.radioGroup);
                //第一种获得单选按钮值的方法  
                //为radioGroup设置一个监听器:setOnCheckedChanged()  
                radgroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
                    @Override
                    public void onCheckedChanged(RadioGroup group, int checkedId) {
                        RadioButton radbtn = (RadioButton) findViewById(checkedId);
                        Toast.makeText(getApplicationContext(), "按钮组值发生改变,你选了" + radbtn.getText(), Toast.LENGTH_LONG).show();
                    }
                });

            获得RadioButton相关信息的方法:

            -getClidCont() 获得按钮组中的单选按钮的数目
            -getClindAt()  根据索引值获得单选按钮 (参数为索引值 0,1,2,3..)
            -isChecked()   判断按钮是否被选中(参数为true/false)


    CheckBox复选框


        1)代码:

            <CheckBox
                android:id="@+id/checkbox"
                android:text="苹果"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <CheckBox
                android:id="@+id/checkbox1"
                android:text="香蕉"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <CheckBox
                android:id="@+id/checkbox2"
                android:text="大鸭梨"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

        2)监听方法:

            可以同时选中多个选项,至于获得选中的值,一般是为每个CheckBox添加事件:setOnCheckedChangeListener

            public class MyActivity extends Activity implements View.OnClickListener,CompoundButton.OnCheckedChangeListener{
             
                private CheckBox cb_one;
                private CheckBox cb_two;
                private CheckBox cb_three;
                private Button btn_send;
             
                @Override
                protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_main);
             
                    cb_one = (CheckBox) findViewById(R.id.cb_one);
                    cb_two = (CheckBox) findViewById(R.id.cb_two);
                    cb_three = (CheckBox) findViewById(R.id.cb_three);
                    btn_send = (Button) findViewById(R.id.btn_send);
             
                    cb_one.setOnCheckedChangeListener(this);
                    cb_two.setOnCheckedChangeListener(this);
                    cb_three.setOnCheckedChangeListener(this);
                    btn_send.setOnClickListener(this);
             
                }
             
                @Override
                public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                   if(compoundButton.isChecked()) Toast.makeText(this,compoundButton.getText().toString(),Toast.LENGTH_SHORT).show();
                }
             
                 //统一监听
                @Override
                public void onClick(View view) {
                    String choose = "";
                    if(cb_one.isChecked())choose += cb_one.getText().toString() + "";
                    if(cb_two.isChecked())choose += cb_two.getText().toString() + "";
                    if(cb_three.isChecked())choose += cb_three.getText().toString() + "";
                    Toast.makeText(this,choose,Toast.LENGTH_SHORT).show();
                }
            }

  • 相关阅读:
    ssh 命令
    mtr 命令
    ping 命令
    curl 命令
    echo 命令
    cp 命令
    sftp服务器配置
    tomcat性能优化
    消息队列
    深度学习
  • 原文地址:https://www.cnblogs.com/Areas/p/5780378.html
Copyright © 2011-2022 走看看