一、Android布局和常用控件


一、Android布局和常用控件

1、Android布局

1.1、线性布局

1.2、相对布局

控件位置属性

1.3、帧布局

1.4、表格布局

1.5、绝对布局

2、常用控件

2.1、TextView:

android:text="文本"

android:textSize="20sp"

android:textColor="#FF0"

android:textStyle="bold"

android:lines="3"

android:singleLine="true"

android:typeface="monospace" //设置字型。字形有:normal, sans, serif,monospace

android:clickable=””

示例:

<?xml version="1.0" encoding="utf-8"?>


    

效果:

2.2、EditText:

EditText继承自TextView,可进行编辑操作


效果:

2.3、Button:

属性与TextView基本相似。

不同点:

  1. 按钮是自带了背景的控件
  2. 按钮是可以点击了

Button处理事件的方式:

1、onClick方式

2、匿名内部类方式

3、接口方式

示例:



    

    
public class ButtonActivity extends AppCompatActivity implements View.OnClickListener{
//方式三↑(extends AppCompatActivity implements)
    private TextView tv_show;
    private Button btn_anonymous;       /*方式二*/
    private Button btn_interface;       /*方式三*/

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);
        // 获取id
        tv_show = (TextView) findViewById(R.id.tv_show);                 /*方式一、方式二、方式三*/
        btn_anonymous = (Button) findViewById(R.id.btn_anonymous);      /*方式二*/
        btn_interface = (Button) findViewById(R.id.btn_interface);      /*方式三*/

        // 匿名内部类监听方式二
        btn_anonymous.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv_show.setText("匿名内部类处理事件");
            }
        });

        //方式三
        btn_interface.setOnClickListener(this);
    }

    // onClick事件方式一
    public void click(View v){
        tv_show.setText("onClick方式处理事件");
    }

    //接口方式处理事件方式三
    @Override
    public void onClick(View v) {
        tv_show.setText("接口方式处理事件");
    }
}

效果:

2.4、RadioButton:

单选组

单选框

设置监听器的时候,通过 RadioGroup radioGroup.setOnCheckedChangeListener();

android:checked="true"

设置监听器:

示例:



    

        

        
    

    

public class RadiobuttonActivity extends AppCompatActivity {

    private RadioGroup rdg_gender;
    private TextView tv_genter;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_radiobutton);

        rdg_gender = (RadioGroup) findViewById(R.id.rdg_gender);
        tv_genter = (TextView) findViewById(R.id.tv_gender);

        rdg_gender.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
                if(checkedId==R.id.rbtn_male){
                    tv_genter.setText("您的性别是:男");
                }else{
                    tv_genter.setText("您的性别是:女");
                }
            }
        });


    }
}

效果:

2.5、imageView:

设置图片源

android:src="@drawable/ic_launcher" 图片大小不会拉伸

android:background="@drawable/bg" 图片拉伸作为背景

代码设置图片源

imageView.setImageResource(resId)

imageView.setImageBitmap(bm);

imageView.setImageDrawable(drawable);

设置缩放模式

android:scaleType=""