Android学習ノート-一般的な基本UIコンポーネントとその一般的な属性値と関連方法
7503 ワード
この中のすべてのインスタンスコードはGithubにアップロードされています.見たいのはここに行ってもいいです.https://github.com/Silence9102/Exercise_Android/tree/master/Exercise_UI_Control
1.テキストクラスコンポーネント
TextViewテキストボックスコンポーネント android:text:コンポーネントの表示内容を設定し、属性値はstringを推奨する.xmlリソースファイルを設定して を呼び出す android:textSize:文字サイズを設定し、属性値はn sp、nは任意の正の整数、spは文字サイズ単位 である. android:textColor:文字の色を設定し、属性値は予め設定した属性値でもFFFFFFFFのようなフォーマットで調整することができ、グラフィックインタフェースの調整時にRGBは不透明な色を表し、ARGBは透明な色を表す . android:singleLine:コンポーネントの単行表示を設定します.属性値はtrueまたはfalse です.
EditText編集ボックスコンポーネント android:hint:編集ボックス入力プロンプトを設定し、編集ボックスに入力がない場合にプロンプト内容 を表示する. android:inputType:textPasswordがパスワードを入力していることを示すような入力データ型を設定します.入力内容は を非表示にします. android:drawableLeft:編集ボックスの左側に画像を描画します.他の描画方向、startとendの使用方法は、以前のコンポーネント と同等です. android:drawablePadding:前に描画した画像の内側余白を設定する android:lines:編集ボックスの入力行数をnに制限し、それを超えると自動的に非表示になり、スクロールが許可されます.属性値は正の整数 です.
2.ボタン類コンポーネント
Button一般ボタンアセンブリ android:text:ボタンに表示される内容を設定するために使用され、属性値は と同じである. android:textAllCaps:ボタンの表示文字がすべて大文字かどうかを制御するために使用され、デフォルトはtrue、属性値はtrueまたはfalse である. android:onClick:ボタンをクリックするとトリガーされるカスタム関数を設定し、Javaファイルでボタンにイベントリスナー を追加する方法もあります.匿名内部クラスによるボタンクリックイベントの傍受 .インタフェースを用いてボタンクリックイベントの傍受 を実現する.
ImageButtonピクチャボタンコンポーネント android:src:ピクチャボタン表示内容を設定 background属性が0000に設定と、画像背景は透明 に設定.
RadioButtonラジオボタンコンポーネント android:text:表示文字を設定 android:checked:デフォルトで選択されているかどうかを設定します.属性値はtrueまたはfalse です.
CheckedBoxチェックボックスコンポーネント android:checked:デフォルトのチェック状態に設定するかどうか、属性値がtrueまたはfalseでListenerを使用してCheckedBoxを取得する場合の関連情報:
設定したListenerがトリガーされたときに、チェックボックスが選択されているかどうかを判断し、選択されている場合は、次の情報を取得します.
3.日付時間クラスコンポーネント
DatePicker日付セレクタ
Listenerを使用して、日付セレクタで日付を変更したときに変更された日付データを取得します.
TimePickerタイムセレクタ
Listenerを使用して、[時間セレクタ](Time Selector)で時間を変更したときに変更された時間データを取得します.
Chronometerタイマー
Listenerを使用して、タイマーが指定された時間に到着したときにコマンドを実行します.
1.テキストクラスコンポーネント
TextViewテキストボックスコンポーネント
EditText編集ボックスコンポーネント
2.ボタン類コンポーネント
Button一般ボタンアセンブリ
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Button Test Click", Toast.LENGTH_SHORT).show();
}
});
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button_1);
button.setOnClickListener(this);
}
// onClick()
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.button_1:
Toast.makeText(this, "Button Test Second Click", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
ImageButtonピクチャボタンコンポーネント
RadioButtonラジオボタンコンポーネント
// ,
// RadioGroup
final RadioGroup radioGroup = findViewById(R.id.RadioGroup1);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
RadioButton radioButton = findViewById(i);
Toast.makeText(MainActivity.this, radioButton.getText(), Toast.LENGTH_SHORT).show();
}
});
//
Button testBtn = findViewById(R.id.TestBtn);
testBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
for (int i = 0; i < radioGroup.getChildCount(); i++) {
RadioButton radioButton = (RadioButton) radioGroup.getChildAt(i);
if (radioButton.isChecked()) {
// Toast
Toast.makeText(MainActivity.this, radioButton.getText(), Toast.LENGTH_SHORT).show();
break;
}
}
}
});
CheckedBoxチェックボックスコンポーネント
// final :https://www.cnblogs.com/dolphin0520/p/3811445.html
final CheckBox checkBox1 = findViewById(R.id.like1);
checkBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(checkBox1.isChecked()){
Toast.makeText(MainActivity.this, checkBox1.getText(),Toast.LENGTH_SHORT).show();
}
}
});
設定したListenerがトリガーされたときに、チェックボックスが選択されているかどうかを判断し、選択されている場合は、次の情報を取得します.
if(checkBox1.isChecked()){
checkedMsg+=checkBox1.getText().toString();
}
3.日付時間クラスコンポーネント
DatePicker日付セレクタ
Listenerを使用して、日付セレクタで日付を変更したときに変更された日付データを取得します.
public class MainActivity extends AppCompatActivity {
int year,month,day;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DatePicker datePicker = findViewById(R.id.datepicker);
// Calendar
Calendar calendar = Calendar.getInstance();
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH);
day = calendar.get(Calendar.DAY_OF_MONTH);
// datepicker
datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker datePicker, int i, int i1, int i2) {
year = i;
month =i1;
day = i2;
show(i,i1,i2);
}
});
}
private void show(int year , int month , int day){
String str = year+" "+(month+1)+" "+day+" ";
Toast.makeText(MainActivity.this,str,Toast.LENGTH_SHORT).show();
}
}
TimePickerタイムセレクタ
Listenerを使用して、[時間セレクタ](Time Selector)で時間を変更したときに変更された時間データを取得します.
TimePicker timePicker = findViewById(R.id.timepicker1);
timePicker.setIs24HourView(true);
timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker timePicker, int i, int i1) {
Toast.makeText(MainActivity.this, i+" "+i1+" ", Toast.LENGTH_SHORT).show();
}
});
Chronometerタイマー
Listenerを使用して、タイマーが指定された時間に到着したときにコマンドを実行します.
// setbase()
// setFormat()
// start()
// stop()
// setOnChronometerTickListener() ,
Chronometer chronometer = findViewById(R.id.chronometer);
//
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.setFormat("%s");
chronometer.start();
chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
// 60
if(SystemClock.elapsedRealtime()-chronometer.getBase()>=60000)
chronometer.stop();
}
});