Android studio的布局部分(一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

Android studio的布局部分(一)

前言

这篇文章是我学习Android studio布局的一点知识点整理方便大家及我以后想用可以直接复制源码


一、四大布局

1.1线性布局:android:layout_gravity:指定控件在布局中的对齐方式 1.2相对布局:android:layout_alignParentLeft、layout_alignParent Top等为控件的左右上下,具体的可以直接一个个试试,关于布局还是很简单的

二、常用的一些控件及使用方法

1.TextView 文本信息控件

<TextView
        android:id="@+id/tv_response"//每个控件必须先写id
        android:layout_width="wrap_content"//match为让当前控件大小与父布局大小一样,wrap为当前控件大小能包含里面文字即可
        android:layout_height="wrap_content"
        android:gravity="center"//指定文字对齐方式有多个不同的方式可用|同时指定多个方式
        android:text="您好啊"
        android:textSize="20sp"//文字大小为sp
        android:textColor="@color/black"
        android:textStyle="bold" />

2.Button 按钮控件

每当点击按钮就会执行onclick()方法

<Button
        android:id="@+id/button_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button 1"/>
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first_layout);
        Button button1=findViewById(R.id.button_1);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //在此处添加逻辑
                Toast.makeText(FirstActivity.this,"你点击一下按钮",Toast.LENGTH_SHORT).show();;
            }
        });
或者
public class FirstActivity extends BaseActivity implements View.OnClickListener{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first_layout);
        Button button1 = findViewById(R.id.button_1);
        button1.setOnClickListener(this)
    }            
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.button_1:
                //添加点击以后的效果
                break;
            default:
                break;
        }
    }
}

3.EditText控件

用于发短信,用户名登录等待操作

<EditText
        android:id="@+id/edit_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
        Android:hint="请输入"//使用此属性为显示一段提示性文本
        android:maxLines="2"//执行最大显示2行超过2行则需要滑动看

先通过findViewById()方法得到EditText实例,用按钮的点击调用EditText的getText()方法,然后用toString方法转成字符串,最后用Toast将输入显示出来

public class ActivityCollector{
    private EditText editText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.third_layout);
        Button button1 = findViewById(R.id.button_1);
        button1.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.button_1:
                //添加点击以后的效果
                String inputText=editText.getText().toString();
                Toast.makeText(ActivityCollector.this,inputText,Toast.LENGTH_SHORT).show();
                break;
            default:
                break;
        }
    }
}

4.imageView控件

用于展示图片等操作

<ImageView
        android:id="@+id/image_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/image1"/>//用于换图片

先通过ImageView的setIamgeResource()方法将图片换成另外一张

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    private EditText editText;//先声明控件
    private ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button);
        editText = findViewById(R.id.edit_text);
        imageView = findViewById(R.id.image_view);
        button.setOnClickListener(this);
    }    
    @Override
    public void onClick(View v) {
         switch (v.getId()) {
             case R.id.button:
                 //此处添加当按钮按下后的逻辑步骤
                 imageView.setImageResource(R.drawable.dask);
                 break;
             default:
                 break;
         }        
    }
}

5.ProgressBar进度条控件

用于显示进度条等操作

<ProgressBar
        android:id="@+id/progress_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="@android:attr/progressBarStyleHorizontal"//水平进度条
        android:max="100"/>

先通过点击按钮,getVisibility()方法判断ProgressBar是否可见,如果可见将ProgressBar隐藏掉,如果不可见则显现,不断点击按钮,可以看到显示隐藏来回切换.

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    private ProgressBar progressBar;
    @Override
    protected void onCreate(Bundle saveInstanceState){
        super.onCreate(saveInstanceState);
        setContentView(R.layout.activity_main);
        Button button =findViewById(R.id.button);
        progressBar=findViewById(R.id.progress_bar);
        button.setOnClickListener(this) ;

    }
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.button:
                //int progress=progressBar.getProgress();这三行是可以点击一次则更新进度条+10%
               // progress=progress+10;
               // progressBar.setProgress(progress);
                if (progressBar.getVisibility()==View.GONE){
                    progressBar.setVisibility(View.VISIBLE);
                }else {
                    progressBar.setVisibility(View.GONE);
                }
                break;
            default:
                break;
        }

    }
}

6.AlertDialog对话框

用于防止用户误删、警告等信息
先通过AlertDialog.Builder创建AlertDialog的实例,然后为对话框设置标题,内容,可否取消等属性,然后用色图Positive Button()方法为对话框确定按钮点击事件,调用setNegativeButton()方法设置取消按钮的点击事件,最后调用show()方法将对话框显示出来

@Override
public void onClick(View v){
    switch (v.getId()){
        case R.id.button:
            AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);
            dialog.setTitle("This is Dialog");
            dialog.setTitle("Something important.");
            dialog.setCancelable(false);
            dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {                    
                }
            });
            dialog.setNegativeButton("Cancel",new DialogInterface.OnClickListener(){
                @Override
                public void onClick(DialogInterface dialog,int which){                    
            });
            dialog.show();
            break;
        default:
            break;
        }
    }
}

在这里插入图片描述

7.ProgressDialog对话框

用于用户等待加载等信息
先通过构建ProgressDialog对象,然后为对话框设置标题,内容,可否取消等属性,最后通过调用show()方法将ProgressDialog显现出来
注意,在setCancelable()传入false,表示ProgressDialog不能通过back健取消掉,所以一定要做好控制,当数据加载完必须调用ProgressDialog的dismiss()方法关闭对话框,否则会一直存在.

@Override//弹出对话框形式,显示一个进度条
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.button:
                ProgressDialog progressDialog=new ProgressDialog(MainActivity.this);
                progressDialog.setTitle("This is ProgressDialog");
                progressDialog.setMessage("Loading...");
                progressDialog.setCancelable(true);
                progressDialog.show();
                break;
            default:
                break;
        }
    }

在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值