Android的基本控件和Activity的基本用法

1.基本控件

TextView       显示文字,相当于Panel 
ImageView      显示图片 
EditText       输入框,可编辑,可设置软键盘方式 
Button         按钮,可附带图片 
CheckBox       复选框 
RadioButton    单选按钮(和 RadioGroup 配合使用)
RadioGroup     单选按钮组
ImageButton    图片按钮
复制代码

2.TextView控件

常用属性说明常用值
android:id给当前控件指定唯一的标识符自定义
android:layout_width指定控件的宽度fill_parent、match_parent、wrap_content
android:Layout_heigh指定控件的高度match_parent、fill_parent、wrap_content
android:tex指定TextView中的文本显示内容自定义
android:gravity指定文字的对齐方式top、bottom、left、right、center
android:textSize指定文字大小自定义
android:textColor指定文字颜色自定义
android:textAllCaps是否将英文字母自动转换成大写true–自动转换、false–不转换
android:src给ImageView指定一张图片自定义

TextView用来显示文字,相当于Panel。一般用来文本展示,继承自android.view.View,在android.widget包中。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

>
<TextView

    android:id="@+id/text_view"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:text="this is textview" />
    </LinearLayout>
复制代码

android:id属性代表着TextView的Id,也就是TextView的唯一标示,在java代码中我们可以通过findViewById()方法来通过Id获取控件。android:layout_width属性代表着控件的宽度,该属性的值是84,表示该控件的宽度为84dp。android:layout_height属性代表着控件的高度,该属性的值是wrap_content,表示控件的高度根据内容的高度进行改变。 android:textSize属性代表着TextView中文字的型号,也就是文字的大小。android:textColorHint属性设置的是TextView中文字的颜色。android:hint属性就是用来设置TextView显示的值。

3.EditText 输入框,可编辑,可设置软键盘方式。继承自android.widget.TextView,在android.widget包中。 如果要为Activity添加一个输入框,在Android中输入框的类型和标签都是EditText。功能是接收用户输入的数据的。布局代码如下:

<TextView

    android:id="@+id/text_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textColor="#be0e0a"
    android:text="文本内容"/>
复制代码

4.**Button ** Button是最常用的按钮,继承自android.widget.TextView,在android.widget包中。他的常用子类CheckBox,RadioButton, ToggleButton

<Button

//控件id android:id = "@+id/xxx" @+id/xxx表示新增控件命名为xxx

//宽度与高度 android:layout_width="wrap_content" //wrap_content或者match_parent android:layout_height="wrap_content" //wrap_content或者match_parent

//按钮上显示的文字 android:text="theButton" //两种方式,直接具体文本或者引用values下面的string.xml里面的元素@string/button

//按钮字体大小 android:textSize="24sp" //以sp为单位

//字体颜色 android:textColor="#0000FF" //RGB颜色

//字体格式 android:textStyle="normal" //normal,bold,italic分别为正常,加粗以及斜体,默认为normal

//是否只在一行内显示全部内容 android:singleLine="true" //true或者false,默认为false

我们需要在Activity中为Button的点击事件注册一个监听器,以下介绍两种方式来实现按钮监听事件,更多方法可以参考下Android的按钮单击事件及监听器的实现方式

5. ImageButton ImageButton继承自ImageView类,与Button之间的最大区别在于ImageButton中没有text属性。ImageButton控件中设置按钮中显示的图片可以通过android:src属性来设置。也可以通过setImageResource(int)来设置。
6.状态开关按钮(ToggleButton)

ToggleButton的状态只能是选中和未选中,并且需要为不同的状态设置不同的显示文本。除了继承自父类的一些属性和方法之外,ToggleButton也具有一些自己的ToggleButton属性。

7.单选按钮(CheckBox)和复选按钮(RoadioButton) CheckBox和RadioButton都只有选中和未选中两种状态,可以通过android:check属性来设置,如果值设置为true,则默认为勾选。两者不同的是RadioButton是复选按钮,需要编制到一个RadioGroup中,其代码如下图:

RadioGroup

android:id="@+id/group1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<RadioButton
    android:id="@+id/meihua"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="15dp"
    android:text="梅花"
    android:textSize="20dp" />
<RadioButton
    android:id="@+id/shiliuhua"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="35dp"
    android:text="石榴花"
    android:textSize="20dp" />
<RadioButton
android:id="@+id/xiangyahua"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:text="象牙花"
android:textSize="20dp" />
</RadioGroup>
复制代码

8. ImageView ImageView控件负责显示图片,其图片的来源可以是在资源文件中的id,也可以是Drawable对象或者位图对象。还可以是Content Provider的URI。
9.Activity的常用方法

public final View findViewByid(int id) 根据组件的ID取得组对象
public void setEnabled(boolean enabled) 设置是否可编辑
public void setFocusable(boolean focusable)设置是否默认取得焦点
public final void setProgress(int progress)设置progresBar的进度
public final void setSecondaryProgress(int secondaryProgress) 设置第二进度条的进度
public Window getWindow()取得第一个Window对象
public void setContentView(int layoutResID)  设置显示组件
public void setContentView(View view) 设置显示组件
复制代码

在MainActivity中重写Activity父类的Create()方法。onCreate方法为必须重写的方法。主要工作有以下两项。

(1)完成布局界面的显示:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);}
复制代码

(2)建立相关的事件响应:

Button= findViewById(R.id.registered);
registeredButton.setOnClickListener(new View.OnClickListener() {
});
复制代码

Activity的生命周期很重要

主要包含六个方法:

onCreate,onStart,onResume,onPause,onStop,onDestory

onCreate函数: 注册你要用到的变量,比如说service,receiver,这些变量是无论你的Activity是在前台还是在后台都能够被响应到的,然后调用上面那个用来初始化的函数初始化布局信息。

onStart函数: 注册一些变量,这些变量必须在Activity在前台的时候才能够被响应。

onResume函数: 调用一些刷新UI的函数,每当Activity调用到这里时,就要刷新一下UI各控件的状态。

onPause函数: 一般是做一些变量的设置,因为这个时候Activity马上就要切到后台处理,可能有些变量就要被释放掉或者状态要做些相应的调整

onStop函数: 反注册在onStart函数中注册的变量。

onDestory函数: 反注册在onDestory函数中注册的变量。

  1. 状态保存 onSaveInstanceState -
    在onPause之前调用(切换Activyt回来)
  2. 状态恢复 onSaveInstanceState ( BundleoutState) 方法,用于保存当前状态,便于恢复时使用 oncreate(Bundle) - 官方推荐 onRestoreInstanceState - onstart之后,onresume之前,不能保证绝对执行

两种启动方法:

支持返回的启动方式:

Activity之间传值 主要通过Intent类进行传值,主要使用intent的Extras,内容原理是使用Map键值对保存数据 intent 传递数组、自定义对象等 other

  1. Manifest的activty属性 alwayRetainTaskState - 每次重新进入都只看见根(rootActivity)
  2. Activity子类 map, list , expandable,tab - Activity
  3. fragment
  4. loaders 界面异步加载机制

转载于:https://juejin.im/post/5cb2016ef265da0362079a69

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值