Android中的基础控件TextView、Button、ImageView、EditText、ProgressBar
生活随笔
收集整理的這篇文章主要介紹了
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,可以顯示傳統的水平帶刻度進度條:
下面看一下代碼:
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文件:
再來看下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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 盱眙县是怎么读的?
- 下一篇: Android中的帧布局