編輯:關於android開發
Android系統為我們提供了大量的控件,例如:開關控件、單選按鈕、多選按鈕、單選菜單等等,那麼這些控件如何使用呢?本篇我將帶領大家一道學習一下如何使用這些控件。所謂無圖無真相,先讓大家看一下效果圖:

下面我們就一起學習一下這些控件的使用吧,首先是我們這邊效果的布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<LinearLayout
android:id="@+id/lative"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FF000000"
>
<TextView
android:id="@+id/Textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
/>
<ProgressBar
android:id="@+id/Barfirst"
android:max="100"
android:visibility="gone"
android:layout_width="200dip"
android:layout_height="wrap_content"
/>
<ProgressBar
android:id="@+id/Bartwo"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/open"
/>
<CheckBox
android:id="@+id/reading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/reading"
/>
<CheckBox
android:id="@+id/music"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/music"
/>
<CheckBox
android:id="@+id/youyong"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/youyong"
/>
<RadioGroup
android:id="@+id/radio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<RadioButton
android:id="@+id/nan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/nan"
/>
<RadioButton
android:id="@+id/nv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/nv"
/>
</RadioGroup>
<ToggleButton
android:id="@+id/togbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="@string/biejingquit"
android:textOff="@string/biejingopen"
/>
<Button
android:id="@+id/first"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/xiayiye"
/>
</LinearLayout>
</RelativeLayout>
下面是我們的主Activity,為了方便大家拷貝學習,我將各個控件的事件都添加了注釋,大家一看應該就能明白,這裡就不在贅述。
public class Activityone extends Activity {
private Button mybutton;//打開進度條按鈕
private Button mybuttonfirst;//普通跳轉按鈕
private ProgressBar mybarfirst;//進度條1
private ProgressBar mybartwo;//進度條2
private TextView mytext;//文本控件
private CheckBox reading;//多選按鈕
private CheckBox music;//多選按鈕
private CheckBox youyong;//多選按鈕
private RadioButton nan;//單選按鈕
private RadioButton nv;//單選按鈕
private ToggleButton togbutton;//開關控件
private LinearLayout lative;//主布局控件
private int cont = 0;//記錄進度條大小
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.All();//設置activity全屏顯示
setContentView(R.layout.activity_one);
mybutton=(Button)findViewById(R.id.button);
mybuttonfirst=(Button)findViewById(R.id.first);
mytext=(TextView)findViewById(R.id.Textview);
mybarfirst=(ProgressBar)findViewById(R.id.Barfirst);
mybartwo=(ProgressBar)findViewById(R.id.Bartwo);
reading=(CheckBox)findViewById(R.id.reading);
music=(CheckBox)findViewById(R.id.music);
youyong=(CheckBox)findViewById(R.id.youyong);
nan=(RadioButton)findViewById(R.id.nan);
nv=(RadioButton)findViewById(R.id.nv);
togbutton=(ToggleButton)findViewById(R.id.togbutton);
lative=(LinearLayout)findViewById(R.id.lative);
//開關點擊事件管理
togbutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (togbutton.isChecked()) {
lative.setBackgroundColor(0xFFF3F3F3);
}else{
lative.setBackgroundColor(0xFF000000);
}
}
});
//單選按鈕
nan.setOnClickListener(new myradiobuttonlistener());
nv.setOnClickListener(new myradiobuttonlistener());
//進度條開關管理
mybutton.setOnClickListener(new mybuttonlistener());
//多選按鈕點擊事件
reading.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (((CheckBox) v).isChecked()) {
Toast.makeText(getApplicationContext(), R.string.reading, Toast.LENGTH_SHORT).show();
}
}
});
//多選按鈕點擊事件
music.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (((CheckBox) v).isChecked()) {
Toast.makeText(getApplicationContext(), R.string.music, Toast.LENGTH_SHORT).show();
}
}
});
//多選按鈕點擊事件
youyong.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (((CheckBox) v).isChecked()) {
Toast.makeText(getApplicationContext(), R.string.youyong, Toast.LENGTH_SHORT).show();
}
}
});
//普通跳轉按鈕點擊事件管理
mybuttonfirst.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Activityone.this, Activitytwo.class);
Activityone.this.startActivity(intent);
}
});
}
//進度條控制
class mybuttonlistener implements OnClickListener{
@Override
public void onClick(View v) {
if(cont==0){
mybarfirst.setVisibility(View.VISIBLE);
mybartwo.setVisibility(0);
mytext.setText(R.string.addone);
mybutton.setText(R.string.add);
}else if(cont<=100){
mybarfirst.setProgress(cont);
mybarfirst.setSecondaryProgress(cont+10);
}else{
mybarfirst.setProgress(0);
mybarfirst.setSecondaryProgress(0);
mybarfirst.setVisibility(View.GONE);
mybartwo.setVisibility(View.GONE);
mytext.setText(R.string.hello_world);
mybutton.setText(R.string.open);
cont=-10;
}
cont+=10;
}
}
//單選點擊事件
class myradiobuttonlistener implements OnClickListener{
@Override
public void onClick(View v) {
RadioButton rb = (RadioButton) v;//獲得被點擊的控件
Toast.makeText(getApplicationContext(), rb.getText(), Toast.LENGTH_SHORT).show();//rb.getText():得到被點擊的選項
}
}
//設置應用全屏顯示
private void All(){
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
//系統菜單(menu菜單)
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 1, R.string.quit);
menu.add(0, 2, 2, R.string.about);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId()==1){
//創建一個提示對話框
AlertDialog.Builder builder = new AlertDialog.Builder(Activityone.this);//獲得一個警戒對話框
builder.setTitle(R.string.menu_quit);
builder.setMessage(R.string.menu_mager);
builder.setPositiveButton(R.string.menu_yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
builder.setNegativeButton(R.string.menu_no, null);
builder.show();
}
return super.onOptionsItemSelected(item);
}
}
下面為大家介紹一下彈出彈出對話框的知識,還是老一套,先看代碼,首先是布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}"
>
<LinearLayout
android:orientation="vertical"
android:id="@+id/lineartwo"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/texttwo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/duihua"
android:textSize="20dip"
/>
<Button
android:id="@+id/buttontwo1"
android:text="@string/danxuan"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/buttontwo2"
android:text="@string/duoxuan"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/buttontwo3"
android:text="@string/liebiao"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/buttontwo4"
android:text="自定義彈出窗口"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/buttontwo5"
android:text="@string/xiayiye"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
</RelativeLayout>
下面是主Activity代碼:
public class Activitytwo extends Activity{
private Button mybutton1;//單選對話框
private Button mybutton2;//多選對話框
private Button mybutton3;//列表對話框
private Button mybutton4;//自定義彈出對話框
private Button mybutton5;//普通跳轉按鈕
private String arr[]={"男","女","少年","青年","中年","老年","已婚","未婚","本科","碩士","博士"};
private String brr[]={"游泳","聽音樂","看書","打電腦游戲","書法","看電視","玩手機","唱歌","旅游","學習"};
private boolean[] brrs={true,true,false,false,true,false,false,false,false,false};//與brr[]一一對應,true:默認被選擇;false:默認不被選擇
private String crr[]={"北京","上海","天津","河南","湖南","湘潭","長沙","武漢","福建","澳門","香港","深圳","廣州"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two2);
mybutton1=(Button)findViewById(R.id.buttontwo1);
mybutton2=(Button)findViewById(R.id.buttontwo2);
mybutton3=(Button)findViewById(R.id.buttontwo3);
mybutton5=(Button)findViewById(R.id.buttontwo5);
mybutton4=(Button)findViewById(R.id.buttontwo4);
//單選提示對話框
mybutton1.setOnClickListener(new mybutton1listener());
//多選提示對話框
mybutton2.setOnClickListener(new mybutton2listener());
//下拉提示對話框
mybutton3.setOnClickListener(new mybutton3listener());
//自定義彈出對話框
mybutton4.setOnClickListener(new mybutton4listener());
//普通跳轉按鈕
mybutton5.setOnClickListener(new mybutton5listener());
}
//單選事件監聽
class mybutton1listener implements OnClickListener{
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(Activitytwo.this);
builder.setTitle(R.string.duoxuan);//設置標題
builder.setIcon(R.drawable.ic_launcher);//設置圖標
builder.setSingleChoiceItems(arr , 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(Activitytwo.this, " "+"你選擇的是:"+arr[which], Toast.LENGTH_LONG).show();
//dialog.dismiss();
}
});//設置選擇的內容
builder.setPositiveButton(R.string.menu_yes, null);
builder.show();
}
}
//多選事件監聽
class mybutton2listener implements OnClickListener{
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(Activitytwo.this);
builder.setTitle(R.string.duoxuan);
builder.setIcon(R.drawable.ic_launcher);
builder.setMultiChoiceItems(brr, brrs, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
for(int i=0;i<brr.length;i++){
if(i==which&&isChecked){
Toast.makeText(Activitytwo.this, " "+brr[i], Toast.LENGTH_SHORT).show();
}
}
}
});
builder.setPositiveButton(R.string.menu_yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.show();
}
}
//下拉列表事件監聽
class mybutton3listener implements OnClickListener{
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(Activitytwo.this);
builder.setTitle(R.string.liebiao);
builder.setIcon(R.drawable.ic_launcher);
builder.setItems(crr, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(Activitytwo.this, " "+crr[which], Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton(R.string.menu_yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.show();
}
}
class mybutton4listener implements OnClickListener{
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(Activitytwo.this);
builder.setTitle("登錄窗口");
builder.setIcon(R.drawable.ic_launcher);
View login = Activitytwo.this.getLayoutInflater().inflate(R.layout.info, null);//設置彈出窗口的視圖
builder.setView(login);
final AlertDialog alerrt = builder.create();
alerrt.show();
Button button1 = (Button) login.findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
alerrt.dismiss();
}
});
}
}
//普通跳轉
class mybutton5listener implements OnClickListener{
@Override
public void onClick(View v) {
Intent intent = new Intent(Activitytwo.this,Activitythree.class);
Activitytwo.this.startActivity(intent);
}
}
}
好了,關於Android控件使用的知識就為大家分享完畢,內容很簡單,如有疑問可以留言討論。新手學習,高手交流。
獲取手機屏幕密度。,獲取屏幕密度
獲取手機屏幕密度。,獲取屏幕密度 1 package com.km.screeninfo; 2 3 import android.os.Bundle; 4
硅谷社交8--聯系人列表頁面,硅谷社交8--聯系人
硅谷社交8--聯系人列表頁面,硅谷社交8--聯系人 1.是否有邀請信息紅點的設置 // 獲取當前是否有新的邀請信息 boolean is_notify = SpUtil
簡單回調機制的基本建立,簡單回調機制建立
簡單回調機制的基本建立,簡單回調機制建立簡單回調機制的建立主要分為下面幾步: 1.寫一個回調類,寫出需要的構造方法 2.定義一個接口,裡面寫一個抽象方法,方法體(Stri
單機搭建Android開發環境(二),單機搭建android開發
單機搭建Android開發環境(二),單機搭建android開發 前文介紹了如何優化SSD和內存,以發揮開發主機的最佳性能,