基礎控制元件詳解

weixin_34378969發表於2017-08-04
  • TextView 文字框
    android:id=""
    android:layout_width=""
    android:layout_height=""
    android:background=""
    android:text=""
    android:textColor=""
    android:textSize=""
  • EditText 輸入文字框
    android:hint="" 提示輸入內容
    android:inputType="" 指定輸入型別
  • AutoCompleteTextView 自動匹配文字內容
    android:completionThreshold="" 設定輸入多少字元時提示內容
    設定提示資訊
String data[] = {"hello", "world", "happy", "height"};
autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
arrayAdapter = new ArrayAdapter<>(this, R.layout.item_auto, data);
autoCompleteTextView.setAdapter(arrayAdapter);
  • MultiAutoCompleteTextView支援多次自動匹配文字內容
    設定多次提示資訊,逗號分隔符為結束的符號
String data[] = {"17523546@163.com", "175824685@163.com", "1854724325@163.com", "1954862542@163.com"};
multiAutoCompleteTextView = findViewById(R.id.multiAutoCompleteTextView);
arrayAdapter = new ArrayAdapter<>(this, R.layout.item_auto, data);
multiAutoCompleteTextView.setAdapter(arrayAdapter);
multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
  • ImageView 圖片
    android:background="" 設定控制元件背景圖片
    android:scaleType="" 指定圖片顯示型別
    android:src="" 設定顯示圖片
  • Botton 按鈕
    設定按鈕的點選事件監聽
    實現方式:匿名內部類,內部類,實現介面
        button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                
            }
        });
View.OnClickListener onClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
                
    }
};
button.setOnClickListener(onClickListener);
public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = findViewById(R.id.button);
        button.setOnClickListener(this);
    }


    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.button:
                break;
        }
    }
}
  • ImageButton 圖片按鈕
    android:src="" 設定顯示圖片
  • ToggleButton 多狀態按鈕
    兩種狀態:選中和未選擇狀態。
    android:checked="" true表示當前處於選中狀態,false表示當前處於預設狀態
    android:textOn="" 被選中時按鈕上的文字內容
    android:textOff="" 未被選中時按鈕上的文字內容
    圖示和按鈕同時變化,設定監聽器OnCheckedChangeListener
public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener {

    private ToggleButton toggleButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toggleButton = findViewById(R.id.toggleButton);
        toggleButton.setOnCheckedChangeListener(this);
    }


    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        toggleButton.setChecked(isChecked);
        toggleButton.setBackgroundResource(isChecked ? R.drawable.ic_launcher_background : R.drawable.ic_launcher_foreground);
    }
}
  • CheckBox 核取方塊
    兩種狀態:選中和未選擇狀態,它可以在這兩個狀態反覆切換
    android:checked="" true表示當前處於選中狀態,false表示當前處於未選中狀態
public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener {

    private CheckBox checkbox;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        checkbox = findViewById(R.id.checkbox);
        checkbox.setOnCheckedChangeListener(this);
    }


    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        //監聽當前核取方塊狀態
    }
}
  • RadioButton 單選按鈕
    兩種狀態:選中和未選中的兩個狀態
    它和核取方塊CheckBox的區別是它選中後再點選不能改變狀態,和RadioGroup組合使用,每組RadioGroup裡只能有一個RadioButton被選中;如果想改變此時被選中的RadioButton的狀態,只能通過選中其他RadioButton來實現。
public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener {

    private RadioGroup radioGroup;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        radioGroup = findViewById(R.id.radioGroup);
        radioGroup.setOnCheckedChangeListener(this);
    }

    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        switch (checkedId) {
            case R.id.radioButton1:
                break;
            case R.id.radioButton2:
                break;
        }
    }
}
  • ProgressBar 進度條

相關文章