Androidベースコントロール(EditView、SeekBarなど)の使い方
12115 ワード
AndroidにはUIコントロールが多数用意されており、ここではTextView、ImageView、Button、EditView、ProgressBar、SeekBar、ScrollView、WebViewの使用方法について説明します.各種コントロールを紹介する前に、android UIコントロールの最も基本的ないくつかの属性を簡単に紹介します.
id:idはコントロール固有の識別子であり、*findViewById(R.id.*)**でコントロールを操作できます.layout_width:コントロール幅、match_に設定可能parent(親レイアウトに満ちている、つまり親レイアウトに現在のコントロールの幅を決定させる)、wrap_content(中身をぴったり包む)、具体的な値(一般的にはdp単位).layout_width:コントロールの高さ、match_に設定可能parent、wrap_content、具体的な値.Visibility:表示するかどうか、3つのオプション値があります:visible(表示、このプロパティをデフォルトに設定しない)、invisible(透明で、画面上でスペースを占有しています)、gone(非表示、スペースを占有しません).1.TextView(テキスト)
TextViewは最も簡単なコントロールと言えるでしょう.
1.1基本属性
text:text属性が表示される文字,@string/app_nameは参照リソースファイルres/values/stringsを表す.xmlのapp_name、直接内容を書くこともできます.
gravity:TextViewでのコンテンツ位置の設定は、オプションでtop、bottom、left、right、centerなどです.テキストをTextViewの右下隅に配置し、gravity="right|bottom"に設定し、textSizeとtextColorの文字サイズと色を|で区切るなど、複数の値を指定できます.id:ここでは「@+id/text」を使用して、idに一意の識別子textを割り当て、参照と同様に+が1つ増えたことを示します.1.2 styleの定義
上のスタイルがタイトルのスタイルであり、複数回繰り返し使用されている場合.各タイトルがこのようにスタイルを定義すると、ワークロードが増えるだけでなく、修正を使用することが難しくなります.この場合、styleを抽象化することでこの問題を解決できます.これは,Web開発におけるCSSの役割と同様である.
1.3動的操作
2.ImageView(画像)
テキストがあるから、写真が欠かせない.
id:javaコードで動的に操作しない場合、id属性は省略できます.src:表示されるピクチャを定義し、ロードするピクチャをres/drawable/ディレクトリの下に配置すればよい.
3.Button(ボタン)
3.1基本スタイル
3.2.2インタフェースOnClickListenerの実装
4.EditText(入力ボックス)
4.1基本スタイル
maxLines:入力ボックスの最大行番号が3行で、3行を超えるとテキストが上にスクロールされ、EditTextは引き伸ばされません.指定しない場合、EditTextは入力内容の増加に伴って引き伸ばされます.hint:Htmlのplaceholderのように、入力ボックスのヒントに使用されます.4.2入力内容の取得
5.ProgressBar(進捗バー)
5.1円形進捗バー
Visibility:visible(表示)、invisible(透明、占有空間)、gone(非表示、非占有空間)、初期値は非表示に設定されます.
5.2水平進捗バー
style:styleを水平スタイルに設定し、他のスタイルは自分で試してもいいです.
6.SeekBar(スライドバー)
6.1基本スタイル
max:スライドバーの最大値、100 progressに設定:スライドバーを初期化する値、50 6.2登録スライドリスナーに設定
7.SrollView(スクロール可能ビュー)
TextViewの内容が多すぎる場合(1ページでは表示できない)、ScrollViewを使用するとページを垂直スクロール可能モードにし、垂直スクロールしてすべての内容を見ることができます.8.WebView(ブラウザ)
AndroidManifestでxmlにネットワークへのアクセス権限を追加
Webページを開いたブラウザのようなプログラムを実行しますが、Webサイトの入力ボックスが欠けています.
以上が本文のすべての内容で、みんなの学習に役立つことを望みます.
id:idはコントロール固有の識別子であり、*findViewById(R.id.*)**でコントロールを操作できます.layout_width:コントロール幅、match_に設定可能parent(親レイアウトに満ちている、つまり親レイアウトに現在のコントロールの幅を決定させる)、wrap_content(中身をぴったり包む)、具体的な値(一般的にはdp単位).layout_width:コントロールの高さ、match_に設定可能parent、wrap_content、具体的な値.Visibility:表示するかどうか、3つのオプション値があります:visible(表示、このプロパティをデフォルトに設定しない)、invisible(透明で、画面上でスペースを占有しています)、gone(非表示、スペースを占有しません).1.TextView(テキスト)
TextViewは最も簡単なコントロールと言えるでしょう.
1.1基本属性
text:text属性が表示される文字,@string/app_nameは参照リソースファイルres/values/stringsを表す.xmlのapp_name、直接内容を書くこともできます.
UIExample
MainActivity
gravity:TextViewでのコンテンツ位置の設定は、オプションでtop、bottom、left、right、centerなどです.テキストをTextViewの右下隅に配置し、gravity="right|bottom"に設定し、textSizeとtextColorの文字サイズと色を|で区切るなど、複数の値を指定できます.id:ここでは「@+id/text」を使用して、idに一意の識別子textを割り当て、参照と同様に+が1つ増えたことを示します.1.2 styleの定義
上のスタイルがタイトルのスタイルであり、複数回繰り返し使用されている場合.各タイトルがこのようにスタイルを定義すると、ワークロードが増えるだけでなく、修正を使用することが難しくなります.この場合、styleを抽象化することでこの問題を解決できます.これは,Web開発におけるCSSの役割と同様である.
...
1.3動的操作
// TextView
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// findViewById, TextView 。
// setText() getText() 。
TextView textView = (TextView) findViewById(R.id.text);
textView.setText("Hello World!");
Log.d("MainActivity",textView.getText().toString());
}
}
2.ImageView(画像)
テキストがあるから、写真が欠かせない.
id:javaコードで動的に操作しない場合、id属性は省略できます.src:表示されるピクチャを定義し、ロードするピクチャをres/drawable/ディレクトリの下に配置すればよい.
// setImageResource() 。
// res/drawable/ 。
ImageView imageView = (ImageView) findViewById(R.id.image);
imageView.setImageResource(R.drawable.test_image2);
3.Button(ボタン)
3.1基本スタイル
text: text即按钮上的提示内容
3.2 点击事件
3.2.1 为点击事件注册监听器
// 12 , OnClickListener, onClick() 。
public class MainActivity extends Activity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.text);
Button button = (Button) findViewById(R.id.button_1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// ...
// :textView.setText("Hello World");
}
});
}
}
3.2.2インタフェースOnClickListenerの実装
// 14 , this
// 17 , OnClickListener onClick()
// java , java
public class MainActivity extends Activity implements View.OnClickListener{
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.text);
Button button = (Button) findViewById(R.id.button_1);
button.setOnClickListener(this);
}
@Override
public void onClick(View view){
// id ,
// ,
switch (view.getId()){
case R.id.button_1:
// ...
// :textView.setText("Hello World!");
break;
default:
break;
}
}
}
4.EditText(入力ボックス)
4.1基本スタイル
maxLines:入力ボックスの最大行番号が3行で、3行を超えるとテキストが上にスクロールされ、EditTextは引き伸ばされません.指定しない場合、EditTextは入力内容の増加に伴って引き伸ばされます.hint:Htmlのplaceholderのように、入力ボックスのヒントに使用されます.4.2入力内容の取得
// , 。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// ...
Button button = (Button) findViewById(R.id.button_1);
final EditText editText = (EditText) findViewById(R.id.edit);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// getText() editText
String input_text = editText.getText().toString();
Log.d("MainActivity",input_text);
}
});
}
}
5.ProgressBar(進捗バー)
5.1円形進捗バー
Visibility:visible(表示)、invisible(透明、占有空間)、gone(非表示、非占有空間)、初期値は非表示に設定されます.
// , , ,
//
public class MainActivity extends Activity implements View.OnClickListener{
private ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
// ...
Button button = (Button) findViewById(R.id.button_1);
progressBar = (ProgressBar) findViewById(R.id.progress_bar);
button.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button_1:
// , ,
// ,
if(progressBar.getVisibility() == View.GONE) {
progressBar.setVisibility(View.VISIBLE);
} else {
progressBar.setVisibility(View.GONE);
}
break;
default: break;
}
}
}
5.2水平進捗バー
style:styleを水平スタイルに設定し、他のスタイルは自分で試してもいいです.
// onClick()
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button_1:
// , +10
int progress = progressBar.getProgress();
progressBar.setProgress(progress + 10);
default: break;
}
}
6.SeekBar(スライドバー)
6.1基本スタイル
max:スライドバーの最大値、100 progressに設定:スライドバーを初期化する値、50 6.2登録スライドリスナーに設定
public class MainActivity extends Activity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.text);
SeekBar seekBar = (SeekBar) findViewById(R.id.seek_bar);
// , , 、 、
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
if(fromUser){
// ,
textView.setText(" , :" + progress);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
Log.d("MainActivity"," ");
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
Log.d("MainActivity"," ");
}
});
}
}
7.SrollView(スクロール可能ビュー)
TextViewの内容が多すぎる場合(1ページでは表示できない)、ScrollViewを使用するとページを垂直スクロール可能モードにし、垂直スクロールしてすべての内容を見ることができます.8.WebView(ブラウザ)
AndroidManifestでxmlにネットワークへのアクセス権限を追加
...
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = (WebView) findViewById(R.id.web_view);
// javasript
webView.getSettings().setJavaScriptEnabled(true);
// , shouldOverrideUrlLoading
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view,String url){
view.loadUrl(url); //
return true; //true WebView ,
}
});
webView.loadUrl("//www.jb51.net");
}
}
Webページを開いたブラウザのようなプログラムを実行しますが、Webサイトの入力ボックスが欠けています.
以上が本文のすべての内容で、みんなの学習に役立つことを望みます.