日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android中的基础控件TextView、Button、ImageView、EditText、ProgressBar

發布時間:2025/4/5 Android 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中的基础控件TextView、Button、ImageView、EditText、ProgressBar 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1 Android中的基礎控件
    • 1.1 控件的通用屬性
  • 2 TextView
    • 2.1 TextView的繼承關系
    • 2.2 TextView的常用屬性
  • 3 EditText
    • 3.1 常用屬性
  • 4 Button
    • 4.1 添加按鈕點擊事件的方式
      • 4.1.1 自定義內部類
      • 4.1.2 匿名內部類
      • 4.1.3 當前Activity去實現事件接口
      • 4.1.4 在布局文件中添加點擊事件屬性
  • 5 ImageView
  • 6 ProgressBar
  • 7 綜合案例

1 Android中的基礎控件

首先來看一下常用的基礎控件(View):

  • 處理文本內容的View(TextView)
  • 被點擊的View(Button)
  • 處理圖片內容的View(ImageView)
  • 接收用戶信息輸入的View(EditText)
  • 進度條類的View(ProgressBar)

1.1 控件的通用屬性


注意:

  • padding指內邊距
  • margin指外邊距

注意:

  • layout_gravity指相對于父容器的對齊方式。
  • gravity指其中內容相對于當前控件的對齊方式。

2 TextView

2.1 TextView的繼承關系

如下:

2.2 TextView的常用屬性

<!--長文本android:text="" 指定文本控件的文本內容android:textSize="26sp" 指定字體大小android:textColor="#00ffff" 指定字體顏色android:lineSpacingExtra="15dp" 行間距(具體大小)android:lineSpacingMultiplier="1" 行間距(倍數)可以將TextView放到滾動條下,滾動條下只能放一個直接子控件!如果ScrollView中想放置兩個控件怎么辦呢?可以在ScrollView中放置1個布局,然后再在布局中放置控件。--><TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:text="@string/long_txt"android:textSize="26sp"android:textColor="#00ffff"android:lineSpacingMultiplier="1.5"/>

跑馬燈效果可以通過如下進行設置:

<!--android:lines="" 設置行數android:single="true" 設置單行android:ellipsize="" 設置省略號android:focusable="true" 設置可以獲取焦點android:focusableInTouchMode="true"設置在觸摸時獲取焦點android:marqueeRepeatLimit="marquee_forever" 設置跑馬燈持續運行--><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/long_txt"android:singleLine="true"android:ellipsize="marquee"android:focusable="true"android:focusableInTouchMode="true"android:marqueeRepeatLimit="marquee_forever"/>

3 EditText

3.1 常用屬性

<!--android:inputType 輸入類型textPassword 密碼number 只能正整數numberSigned 整數numberDecimal 小數上面的類型是可以使用|進行組合使用的。android:hint 提示文字android:maxLength 最長長度-->

4 Button

4.1 添加按鈕點擊事件的方式

4.1.1 自定義內部類

package com.example.uidemo;import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button;public class ButtonActivity extends AppCompatActivity implements View.OnClickListener{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_button);//1.獲取按鈕Button btn1 = findViewById(R.id.btn1);//點擊事件:被點擊時被觸發的事件MyClickListener mcl = new MyClickListener();btn1.setOnClickListener(mcl); //2.為按鈕注冊點擊事件監聽器}class MyClickListener implements View.OnClickListener{@Overridepublic void onClick(View view) {//在控制臺輸出一條語句Log.e("TAG","按鈕被點擊了!");}} }

4.1.2 匿名內部類

實現方式如下:

//匿名內部類適用于有唯一操作的按鈕 Button btn2 = findViewById(R.id.btn2); btn2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//在控制臺輸出Log.e("TAG","==========匿名內部類==========");}});

4.1.3 當前Activity去實現事件接口

記得去實現View.OnClickListener接口:

package com.example.uidemo;import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button;public class ButtonActivity extends AppCompatActivity implements View.OnClickListener{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_button);Button btn3 = findViewById(R.id.btn3);btn3.setOnClickListener(this);}@Overridepublic void onClick(View view) {Log.e("TAG","用本類實現了OnClickListener");} }

4.1.4 在布局文件中添加點擊事件屬性

只需要在xml中設置android:onClick=“register_btn_clicked” :

然后在相應的Activity中實現函數:

public void register_btn_clicked(View view) {Log.e("tip", "register btn is clicker!"); }

5 ImageView

用來顯示和控制圖像的控件,可以對它進行放大,縮小,旋轉等操作。

在Android Stdio中我們通常把圖片文件放到mipmap文件夾中,因為對于圖片的縮放支持比drawable的更好。


6 ProgressBar

進度條,默認情況下是圓形,沒有刻度,只是一個不斷旋轉的動畫效果。通過設置style,可以顯示傳統的水平帶刻度進度條:

下面看一下代碼:

<!--進度條:默認樣式是轉圈。修改樣式需設置風格style 設置風格progressBarStyleHorizontal(水平進度條)android:progress="" 設置進度android:max="" 設置最大值,默認100android:indeterminate="true" 設置進度條一直滾動--><ProgressBarandroid:layout_width="wrap_content"android:layout_height="wrap_content" /><ProgressBarandroid:layout_width="match_parent"android:layout_height="wrap_content"style="?android:attr/progressBarStyleHorizontal"android:progress="30"android:max="200"/><ProgressBarandroid:layout_width="match_parent"android:layout_height="wrap_content"style="?android:attr/progressBarStyleHorizontal"android:indeterminate="true"/><ProgressBarandroid:id="@+id/progress"android:layout_width="match_parent"android:layout_height="wrap_content"style="?android:attr/progressBarStyleHorizontal"/>

java代碼如下:

package com.example.uidemo;import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ProgressBar;public class ProgressBarActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_progress_bar);final ProgressBar progressBar = findViewById(R.id.progress);progressBar.setProgress(80);//在Android中,4.0以后是不能直接在線程中操作控件的//進度條是個特例new Thread(){@Overridepublic void run() {for(int i = 1 ; i <= 100 ; i++) {progressBar.setProgress(i);try {Thread.sleep(30);} catch (InterruptedException e) {e.printStackTrace();}}}}.start();} }

7 綜合案例

下面看下如下界面:

首先看下xml文件:

<?xml version="1.0" encoding="utf-8"?> <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"tools:context=".MainActivity"android:background="@mipmap/bg"android:gravity="center_horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Sign Up"android:textSize="36sp"android:textColor="#ffffff"android:layout_marginTop="70dp"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Imooc Imooc Imooc Imooc\nImooc Imooc Imooc"android:layout_margin="20dp"android:textSize="28sp"android:textColor="#ffffff"android:gravity="center_horizontal"/><!--android:src="" 指定前景圖片資源android:background="" 設置背景--><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@mipmap/add_photo" /><!--<ImageButton--><!--android:layout_width="wrap_content"--><!--android:layout_height="wrap_content"--><!--android:src="@mipmap/add_photo"/>--><!--android:inputType 輸入類型textPassword 密碼number 只能正整數numberSigned 整數numberDecimal 小數--><ProgressBarandroid:id="@+id/pro_bar"android:layout_width="match_parent"android:layout_height="wrap_content"style="?android:attr/progressBarStyleHorizontal"android:visibility="invisible"android:layout_margin="10dp"/><EditTextandroid:id="@+id/name"android:layout_width="match_parent"android:layout_height="68dp"android:layout_marginLeft="30dp"android:layout_marginRight="30dp"android:hint="Name and Surname"android:gravity="center"android:textColorHint="#cccccc"android:background="@mipmap/border"/><EditTextandroid:layout_width="match_parent"android:layout_height="68dp"android:layout_marginLeft="30dp"android:layout_marginRight="30dp"android:layout_marginTop="25dp"android:hint="Email Address"android:gravity="center"android:textColorHint="#cccccc"android:background="@mipmap/border"/><EditTextandroid:layout_width="match_parent"android:layout_height="68dp"android:layout_marginLeft="30dp"android:layout_marginRight="30dp"android:layout_marginTop="25dp"android:hint="Phone"android:gravity="center"android:textColorHint="#cccccc"android:background="@mipmap/border"/><EditTextandroid:id="@+id/pwd"android:layout_width="match_parent"android:layout_height="68dp"android:layout_marginLeft="30dp"android:layout_marginRight="30dp"android:layout_marginTop="25dp"android:hint="Password"android:gravity="center"android:textColorHint="#cccccc"android:background="@mipmap/border"android:inputType="textPassword"android:maxLength="12"/><Buttonandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="30dp"android:layout_marginRight="30dp"android:layout_marginTop="40dp"android:background="@mipmap/btn"android:text="Register"android:onClick="register"/> </LinearLayout>

再來看下java文件:

package com.example.uidemo;import android.app.Activity; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.ProgressBar; import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void register(View v){//1.判斷姓名、密碼是否為空EditText nameEdt = findViewById(R.id.name);EditText pwdEdt = findViewById(R.id.pwd);final ProgressBar proBar = findViewById(R.id.pro_bar);String name = nameEdt.getText().toString();String pwd = pwdEdt.getText().toString();if(name.equals("") || pwd.equals("")) {//2.如果為空,則提示//無焦點提示//參數1:環境上下文 參數2:提示性文本 參數3:提示持續時間Toast.makeText(this,"姓名或密碼不能為空",Toast.LENGTH_SHORT).show();}else {//3.都不為空,則出現進度條proBar.setVisibility(View.VISIBLE);new Thread(){@Overridepublic void run() {for(int i = 0 ; i <= 100 ; i++){proBar.setProgress(i);try {Thread.sleep(30);} catch (InterruptedException e) {e.printStackTrace();}}}}.start();}} }

總結

以上是生活随笔為你收集整理的Android中的基础控件TextView、Button、ImageView、EditText、ProgressBar的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。