コピペできる各種コントロールの使い方 [Android Studio]
目次
1. EditText
2. Button
3. CheckBox
4. RadioButton/RadioGroup
5. ToggleButton
6. Switch
7. ImageView
8. WebView
9. VideoView
10. CalendarView
11. ProgressBar(Horizontal)
12. SeekBar/SeekBar(Discrete)
13. RatingBar
14. SearchView
15. Spinner
16. ListView
1. EditTextの使い方
EditText et = findViewById(R.id.editText);
// 最大文字数を6桁にする
et.setFilters(new InputFilter[] {new InputFilter.LengthFilter(6)});
// 文字列を取得する
String str = et.getText().toString();
// アプリのタイトルに表示する
MainActivity.this.setTitle(str);
// 文字列を設定する
et.setText("こんにちは。");
// イベント
et.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// テキスト変更前
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// テキスト変更中
}
@Override
public void afterTextChanged(Editable s) {
// テキスト変更後
}
});
2. Buttonの使い方
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// ココにクリック時のイベントを処理する
}
});
3. CheckBoxの使い方
// チェックボックスの状態を取得する
CheckBox ch = findViewById(R.id.checkBox);
if (ch.isChecked())
MainActivity.this.setTitle("true");
else
MainActivity.this.setTitle("false");
4. RadioButton/RadioGroupの使い方
// 選択中のラジオボタンを取得する RadioGroup rg = findViewById(R.id.radioGroup); RadioButton rb = findViewById(rg.getCheckedRadioButtonId()); // ラジオボタンの文字列をアプリのタイトルにする MainActivity.this.setTitle(rb.getText().toString());
5. ToggleButtonの使い方
ToggleButton tb = findViewById(R.id.toggleButton);
// スイッチをオンにする
tb.setChecked(true);
// イベント
tb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
// スイッチの状態が変化
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked)
MainActivity.this.setTitle("true");
else
MainActivity.this.setTitle("false");
}
});
6. Switchの使い方
Switch sw = findViewById(R.id.switch1);
// スイッチをオンにする
sw.setChecked(true);
// イベント
sw.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
// スイッチの状態が変化
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked)
MainActivity.this.setTitle("true");
else
MainActivity.this.setTitle("false");
}
});
7. ImageViewの使い方
ImageView iv = findViewById(R.id.imageView); // Android固有のアイコンを使用する場合(アイコンは任意) iv.setImageResource(android.R.drawable.btn_star_big_on); // \res\drawable\フォルダに置いた画像を読み込む場合(logoのファイル名は任意) iv.setImageResource(R.drawable.logo);
8. WebViewの使い方
AndroidManifest.xmlの<manifest></manifest>の中に
<uses-permission android:name="android.permission.INTERNET"/>
を追加する必要があります。
WebView wv = findViewById(R.id.webView);
wv.loadUrl("https://www.petitmonte.com/");
9. VideoViewの使い方
AndroidManifest.xmlの<manifest></manifest>の中に
<uses-permission android:name="android.permission.INTERNET"/>
を追加する必要があります。
VideoView vv = findViewById(R.id.videoView);
vv.setVideoURI(Uri.parse("https://www.example.com/test.mp4"));
vv.start();
10. CalendarViewの使い方
CalendarView cv = findViewById(R.id.calendarView);
// イベント
cv.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
// 選択日が変更
@Override
public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int dayOfMonth) {
// アプリのタイトルに表示する
MainActivity.this.setTitle(String.format("%d%02d%02d",year,month,dayOfMonth));
}
});
11. ProgressBar(Horizontal)の使い方
バックグラウンドの非同期処理(AsyncTask)でプログレスバーを動作させます。事前準備としてアクティビティにProgressBar1個、Button2個(実行、キャンセル)を配置します。
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
public class MainActivity extends AppCompatActivity {
// 非同期処理を行うAsyncTaskクラスを継承する
// AsyncTaskのジェネリクス<Params,Progres,Result>
// Params .. 主にdoInBackgroundの引数型
// Progress .. 主にonProgressUpdateの引数型
// Result .. 主にdoInBackgroundの戻り値
public class MyAsyncTask extends AsyncTask<Object,Integer,Integer>{
private AppCompatActivity My;
private ProgressBar progressBar;
private Button button;
// コンストラクタ
protected MyAsyncTask(AppCompatActivity activity,
ProgressBar progressBar,
Button button) {
this.My = activity;
this.progressBar = progressBar;
this.button = button;
}
// バックグラウンドの処理前
@Override
protected void onPreExecute() {
button.setEnabled(false);
this.progressBar.setMax(100);
this.My.setTitle("しばらくお待ち下さい。");
}
// バックグラウンド処理
@Override
protected Integer doInBackground(Object[] object) {
for (int i = 1; i <= 100; i++) {
try {
// キャンセル時はループを抜ける
if (isCancelled()) break;
// プログレスバーの処理
publishProgress(i);
// なんらかの重い処理
Thread.sleep(50);
}catch (Exception e){
e.printStackTrace();
}
}
return 100;
}
// バックグラウンドの処理後
@Override
protected void onPostExecute(Integer o) {
button.setEnabled(true);
this.My.setTitle("処理が完了しました。");
}
// プログレスバー
@Override
protected void onProgressUpdate(Integer[] values) {
this.progressBar.setProgress(values[0]);
}
// キャンセル
@Override
protected void onCancelled() {
button.setEnabled(true);
this.My.setTitle("キャンセルされました。");
}
}
public MyAsyncTask my = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 非同期処理の開始
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
my = null;
my = new MyAsyncTask(
(AppCompatActivity)MainActivity.this,
(ProgressBar)findViewById(R.id.progressBar),
(Button)findViewById(R.id.button));
my.execute();
}
});
// 非同期処理のキャンセル
findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(my != null) {
my.cancel(true);
my = null;
}
}
});
}
}
12. SeekBar/SeekBar(Discrete)の使い方
SeekBar sb = findViewById(R.id.seekBar);
sb.setMax(10);
// イベント
sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
// トラッキング中
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
}
// トラッキング開始
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
// トラッキング終了
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// アプリタイトルに現在の値を表示する
MainActivity.this.setTitle(String.valueOf(seekBar.getProgress()));
}
});
13. RatingBarの使い方
RatingBar rb = findViewById(R.id.ratingBar);
// 星の数の最大数
rb.setNumStars(5);
// 星の数
rb.setRating(2);
// イベント
rb.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
// 変更後
@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
// アプリタイトルに現在の値を表示する
MainActivity.this.setTitle(String.valueOf(rating));
}
});
14. SearchViewの使い方
SearchView sv = findViewById(R.id.searchView);
// イベント
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
// クエリーを送信
@Override
public boolean onQueryTextSubmit(String query) {
// アプリタイトルに現在の値を表示する
MainActivity.this.setTitle(query);
return false;
}
// クエリーを編集中
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
15. Spinnerの使い方
Spinner sp = findViewById(R.id.spinner);
// アダプターの作成
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// アイテムの追加
adapter.add("みかん");
adapter.add("りんご");
adapter.add("めろん");
// スピナーにアダプターを設定する
sp.setAdapter(adapter);
// イベント
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
// アイテムを選択
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Spinner spinner = (Spinner)parent;
// 選択中のアイテムのテキスト
String text = spinner.getSelectedItem().toString();
// 選択中のアイテムのインデックス
String pos = String.valueOf(position);
// アプリのタイトルに表示する
MainActivity.this.setTitle(pos + " : " + text);
}
// アイテムが選択されていない
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
16. ListViewの使い方
ListView lv = findViewById(R.id.listview);
// アダプターの作成
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1);
// アイテムの追加
adapter.add("みかん");
adapter.add("りんご");
adapter.add("めろん");
// リストビューにアダプターを設定する
lv.setAdapter(adapter);
// イベント
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
// アイテムクリック
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ListView listview = (ListView)parent;
// 選択中のアイテムのテキスト
String text = listview.getItemAtPosition(position).toString();
// 選択中のアイテムのインデックス
String pos = String.valueOf(position);
// アプリのタイトルに表示する
MainActivity.this.setTitle(pos + " : " + text);
}
});
スポンサーリンク
関連記事
公開日:2018年05月20日
記事NO:02658
プチモンテ ※この記事を書いた人
![]() | |
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
| 🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は抒情詩、抒情的な楽曲が多い。楽曲制作は🔰2023年12月中旬 ~ | |









