Android基础组件课堂总结|青训营笔记

161 阅读2分钟

这是我参与【第四届青训营】笔记创作活动的第三天

一、本堂重点内容:

介绍了常规以及高级UI编程

二、详细知识点介绍:

1、安卓UI组件

有哪些:输入框组件EditView、按钮组件Button、文本组件TextView、播放器组件、图片组件ImagView、列表组件

2.文本框 TextView 显示文本

用法举例

<LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent">
     <TextView
         android:id="@+id/text_view_id"
         android:layout_height="wrap_content"
         android:layout_width="wrap_content"
         android:text="@string/hello" />
  </LinearLayout>
  
常用属性
属性               说明
android:text      文字内容
android:textSize  文字大小
android:textStyle 文字格式(normal, bold, italic, bold|italic)
android:textColor 文字颜色

2.输入框 EditText 是TextView的子类

用法举例

<EditText
      android:id="@+id/plain_text_input"
      android:layout_height="wrap_content"
      android:layout_width="match_parent"
      android:inputType="text"/>
属性                       说明
android:hint             提示文字
android:inputType        输入类型,值为:text, number, textPassword…,多类型用|分割。
android:drawableLeft     输入框左侧(其他边也有相应的属性)绘制对象,值通常为一个可绘制资源文件,如@mipmap/xx
android:drawablePadding  可绘制对象的内边距
android:lines            输入框高多少行,值为整数。

3.Button 是TextView的子类

使用举例

<Button
      android:id="@+id/button_id"
      android:layout_height="wrap_content"
      android:layout_width="wrap_content"
      android:text="@string/self_destruct" />

可设置点击事件

public class MyActivity extends Activity {
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
 
          setContentView(R.layout.content_layout_id);
 
          final Button button = findViewById(R.id.button_id);
          button.setOnClickListener(new View.OnClickListener() {
              public void onClick(View v) {
                  // Code here executes on main thread after user presses button
              }
          });
      }
  }

4.图片按钮 Image Button ImageView的子类

<LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent">
      <ImageButton
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:src="@drawable/my_image"
          />
  </LinearLayout>
  

5.单选框 RadioButton

使用举例

<?xml version="1.0" encoding="utf-8"?>
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <RadioButton android:id="@+id/radio_pirates"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/pirates"
        android:onClick="onRadioButtonClicked"/>
    <RadioButton android:id="@+id/radio_ninjas"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/ninjas"
        android:onClick="onRadioButtonClicked"/>
</RadioGroup>

ViewGroup是LinearLayout的子类,所以ViewGroup默认是垂直的线性布局,可以用android:orientation属性来改变线性方向。

可以使用andorid:onClick属性来设置单选框的点击事件,代码可以如下:

public void onRadioButtonClicked(View view) {
    // Is the button now checked?
    boolean checked = ((RadioButton) view).isChecked();
​
    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.radio_pirates:
            if (checked)
                // Pirates are the best
            break;
        case R.id.radio_ninjas:
            if (checked)
                // Ninjas rule
            break;
    }
}

6.多选框 CheckBox

应用举例

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <CheckBox android:id="@+id/checkbox_meat"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/meat"
        android:onClick="onCheckboxClicked"/>
    <CheckBox android:id="@+id/checkbox_cheese"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/cheese"
        android:onClick="onCheckboxClicked"/>
</LinearLayout>

8.计时器 Chronometer

应用举例

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="#efefef">
​
    <Chronometer
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:format="%s"
        android:id="@+id/chronometer"/>
​
</RelativeLayout>

三、实践练习例子:

如上举例

四、课后个人总结:

总体而言简单的项目是可以独立完成的,但是对于逻辑复杂的应用还需要再打磨打磨

五、引用参考:

www.icourse163.org/learn/NNZY-…