国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
第九講:用戶界面 View(四)
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <linearlayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:gravity="center" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">
  3.         <textview android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/TextView01" android:text="杜鵑不啼,如何讓它啼?" android:textsize="20sp" android:layout_marginbottom="10dp">
  4.         </textview>

  5.         <button android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/Button01" android:text="殺之不足惜!" android:textsize="20sp">
  6.         </button>

  7.         <button android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/Button02" android:text="誘之自然啼!" android:textsize="20sp">
  8.         </button>

  9.                 <button android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/Button03" android:text="待之莫須急!" android:textsize="20sp">
  10.         </button>
  11. </linearlayout>
復(fù)制代碼
再下面就是運(yùn)行效果:
點(diǎn)擊某個(gè)按鈕之后,標(biāo)題欄發(fā)生變化:
我們可以留意到 OnClickListener 是View的一個(gè)內(nèi)部接口,也留意到想更改某個(gè)Activity的標(biāo)題欄,可以用setTitle的方法直接設(shè)置。 如果看源代碼的話我們也可以留意到Button是我們下面要講的TextView的子類,對(duì)句話你有個(gè)印象就行了。二、TextView 文本框我們在很早以前的例子里已經(jīng)開始使用,TextView這個(gè)組件,足可見他應(yīng)用之廣泛。它的用處就是顯示文本,它也是最基本的一個(gè)視圖組件。我們有必要看一下TextView的繼承關(guān)系:
從上圖看到Button、EditText、CheckBox、RadioButton等等常用組件都是TextView的直接子類或間接子類,因此我們本講里TextView內(nèi)容雖然不多,但是這個(gè)組件大家還是要處處留意,逐步加深對(duì)TextView類的理解。下面我們舉一個(gè)例子,來看一下TextView,并認(rèn)識(shí)一下使用setMovementMethod()方法實(shí)現(xiàn)文本可滾動(dòng),下面看代碼:
  1. package android.basic.lesson9;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.text.method.ScrollingMovementMethod;
  5. import android.widget.TextView;

  6. public class HelloTextView extends Activity {
  7.     /** Called when the activity is first created. */
  8.     @Override
  9.     public void onCreate(Bundle savedInstanceState) {
  10.         super.onCreate(savedInstanceState);
  11.         setContentView(R.layout.main);

  12.         //找到TextView組件
  13.         TextView tv = (TextView)findViewById(R.id.TextView01);

  14.         //設(shè)置移動(dòng)方法
  15.         tv.setMovementMethod(ScrollingMovementMethod.getInstance());
  16.     }
  17. }
復(fù)制代碼
main,xml代碼:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <linearlayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">
  3. <textview android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/TextView01" android:text="@string/hello" android:textsize="30sp">
  4. </textview></linearlayout>
復(fù)制代碼


長長的關(guān)于馮諾依曼的文本我就不粘貼了,它定義在strings.xml文件里。下面是顯示效果:
我們知道在TextView外層套一個(gè)ScrollView也可以實(shí)現(xiàn)文本滾動(dòng)的,同學(xué)們自己可以實(shí)現(xiàn)一下,然后對(duì)比其顯示效果有何不同(某一個(gè)帶滾動(dòng)條)。三、EditView 可編輯文本框我們通過一個(gè)例子來介紹一下EditView。1、新建一個(gè)項(xiàng)目,在main.xml中添加一個(gè)EditText。<EditText    android:text=""    android:id="@+id/EditText01"  
    android:hint="隨便輸點(diǎn)什么然后按回車"    android:layout_width="fill_parent"    android:layout_height="wrap_content"></EditText>其中,android:hint屬性就是沒有輸入內(nèi)容之前的提示內(nèi)容,hint英文的意思也是暗示之意。2、在onCreate()方法中添加如下代碼:
  1. //找到xml中定義的EditText
  2. final EditText et = (EditText) findViewById(R.id.EditText01);
  3. et.setOnKeyListener(new View.OnKeyListener() {

  4.         @Override
  5.         public boolean onKey(View v, int keyCode, KeyEvent event) {
  6.                 //監(jiān)視硬鍵盤按鍵
  7.                 if(event.getAction()== KeyEvent.ACTION_DOWN && keyCode== KeyEvent.KEYCODE_ENTER){
  8.                         //按住把EditView中的文版顯示在吐司消息中
  9.                         Toast.makeText(MainHelloEditView.this, et.getText(),
  10.                                         Toast.LENGTH_SHORT).show();
  11.                         //返回true說明你已經(jīng)處理了這個(gè)事件并且它應(yīng)該就此終止,如果返回false就表示此事件還需要繼續(xù)傳遞下去
  12.                         return true;
  13.                 }
  14.                 return false;
  15.         }
  16. });
復(fù)制代碼

3、運(yùn)行程序,輸入一些文字之后按回車鍵看看效果:
有興趣的同學(xué)可以把toast后面的return true換成 return false看看效果,再按OK鍵呼出軟鍵盤試試。四、ImageView 圖片框,ImageButton 圖片按鈕我們通過一個(gè)例子來看一下ImageView和ImageButton的應(yīng)用。
  1. package android.basic.lesson9;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.MotionEvent;
  5. import android.view.View;
  6. import android.view.View.OnClickListener;
  7. import android.view.View.OnTouchListener;
  8. import android.widget.ImageButton;
  9. import android.widget.ImageView;
  10. import android.widget.Toast;

  11. public class MainHelloImageButton extends Activity {
  12.         /** Called when the activity is first created. */
  13.         @Override
  14.         public void onCreate(Bundle savedInstanceState) {
  15.                 super.onCreate(savedInstanceState);
  16.                 setContentView(R.layout.main);

  17.                 // 找到xml中的ImageButton和ImageView
  18.                 final ImageButton ib = (ImageButton) findViewById(R.id.ImageButton01);
  19.                 final ImageView iv = (ImageView) findViewById(R.id.ImageView01);

  20.                 // 定義觸摸監(jiān)聽
  21.                 OnTouchListener otl = new OnTouchListener() {
  22.                         @Override
  23.                         public boolean onTouch(View v, MotionEvent event) {
  24.                                 switch (v.getId()) {
  25.                                 case R.id.ImageButton01:
  26.                                         Toast.makeText(getApplicationContext(), "觸摸"+((ImageView)v).getId(),
  27.                                                         Toast.LENGTH_LONG).show();
  28.                                         break;
  29.                                 case R.id.ImageView01:
  30.                                         Toast.makeText(getApplicationContext(), "觸摸"+((ImageView)v).getId(),
  31.                                                         Toast.LENGTH_LONG).show();
  32.                                         break;
  33.                                 }
  34.                                 return false;
  35.                         }
  36.                 };

  37.                 // 定義點(diǎn)擊監(jiān)聽
  38.                 OnClickListener ocl = new OnClickListener() {
  39.                         @Override
  40.                         public void onClick(View v) {
  41.                                 Toast.makeText(getApplicationContext(), "點(diǎn)擊"+((ImageView)v).getId(),
  42.                                                 Toast.LENGTH_LONG).show();
  43.                         }
  44.                 };

  45.                 // 綁定監(jiān)聽
  46.                 ib.setOnClickListener(ocl);
  47.                 ib.setOnTouchListener(otl);
  48.                 iv.setOnClickListener(ocl);
  49.                 iv.setOnTouchListener(otl);
  50.         }
  51. }
復(fù)制代碼

main.xml配置:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <linearlayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:gravity="center" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">

  3.         <imagebutton android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/ImageButton01" android:layout_marginbottom="10dp" android:src="@drawable/android_normal">
  4.                 </imagebutton>
  5.         <imageview android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/ImageView01" android:src="@drawable/android_normal">
  6.                 </imageview>
  7. </linearlayout>
復(fù)制代碼

運(yùn)行效果:
通過這個(gè)例子大家可以體會(huì)一下OnTouch和OnClick事件之間的區(qū)別。五、CheckBox 選擇框我們也是使用一個(gè)例子來演示選擇框,請(qǐng)?jiān)谶@里例子里留意 onClickListener和onCheckedChangeListener的區(qū)別
  1. package android.basic.lesson9;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.view.View.OnClickListener;
  6. import android.widget.Button;
  7. import android.widget.CheckBox;
  8. import android.widget.CompoundButton;
  9. import android.widget.CompoundButton.OnCheckedChangeListener;
  10. import android.widget.Toast;

  11. public class MainHelloCheckBox extends Activity {
  12.         /** Called when the activity is first created. */
  13.         @Override
  14.         public void onCreate(Bundle savedInstanceState) {
  15.                 super.onCreate(savedInstanceState);
  16.                 setContentView(R.layout.main);

  17.                 //聲明對(duì)象
  18.                 final CheckBox cb1 = (CheckBox) findViewById(R.id.CheckBox01);
  19.                 final CheckBox cb2 = (CheckBox) findViewById(R.id.CheckBox02);

  20.                 //聲明監(jiān)聽器
  21.                 OnClickListener ocl = new OnClickListener() {

  22.                         @Override
  23.                         public void onClick(View v) {
  24.                                         if(!((CheckBox)v).isChecked()){
  25.                                         Toast.makeText(MainHelloCheckBox.this, "\""+((Button)v).getText()+"\"被取消",
  26.                                                         Toast.LENGTH_SHORT).show();
  27.                                         }
  28.                         }
  29.                 };

  30.                 OnCheckedChangeListener occl = new OnCheckedChangeListener() {

  31.                         @Override
  32.                         public void onCheckedChanged(CompoundButton buttonView,
  33.                                         boolean isChecked) {
  34.                                 if(isChecked){
  35.                                         Toast.makeText(MainHelloCheckBox.this, "\""+buttonView.getText()+"\"被選擇",
  36.                                                         Toast.LENGTH_SHORT).show();
  37.                                 }
  38.                         }
  39.                 };

  40.                 //綁定監(jiān)聽器
  41.                 cb1.setOnCheckedChangeListener(occl);
  42.                 cb2.setOnCheckedChangeListener(occl);
  43.                 cb1.setOnClickListener(ocl);
  44.                 cb2.setOnClickListener(ocl);
  45.         }
  46. }
復(fù)制代碼
main.xml的代碼:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <linearlayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">
  3. <textview android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/TextView01" android:text="選擇你想得到的東西:">
  4. <checkbox android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/CheckBox01" android:text="得不到">
  5. </checkbox>
  6. <checkbox android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/CheckBox02" android:text="已失去">
  7. </checkbox>
  8. </textview></linearlayout>
復(fù)制代碼

行效果如下圖,點(diǎn)擊選擇和取消選擇都會(huì)觸發(fā)事件,做出消息提示,請(qǐng)留意之間的異同。
六、RadioGroup and RadioButton 單選組和單選鈕在這一小節(jié)里,我們創(chuàng)建一個(gè)RadioGroup組件和他的兩個(gè)子元素RadioButton,實(shí)現(xiàn)單選效果。1、新建一個(gè)項(xiàng)目,打開res/layout/main.xml 添加如下代碼:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <linearlayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">
  3.     <radiogroup android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="vertical">
  4.       <radiobutton android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/radio_red" android:text="紅">
  5.       <radiobutton android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/radio_blue" android:text="藍(lán)">
  6.     </radiobutton></radiobutton></radiogroup>
  7. </linearlayout>
復(fù)制代碼

添加android:checked=”true”可以做一個(gè)默認(rèn)選中項(xiàng),如果不增加的話默認(rèn)都不是選中狀態(tài)。(讀者可以試一下兩個(gè)單選鈕都設(shè)置了選中狀態(tài)時(shí),會(huì)有什么結(jié)果,思考一下為什么是這樣。)2、在Acticity里處理一下點(diǎn)擊事件:
  1. package android.basic.lesson9;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.view.View.OnClickListener;
  6. import android.widget.RadioButton;
  7. import android.widget.Toast;

  8. public class MainHelloRadioGroup extends Activity {
  9.         /** Called when the activity is first created. */
  10.         @Override
  11.         public void onCreate(Bundle savedInstanceState) {
  12.                 super.onCreate(savedInstanceState);
  13.                 setContentView(R.layout.main);

  14.                 final RadioButton radio_red = (RadioButton) findViewById(R.id.radio_red);
  15.                 final RadioButton radio_blue = (RadioButton) findViewById(R.id.radio_blue);

  16.                 OnClickListener ocl = new OnClickListener() {

  17.                         @Override
  18.                         public void onClick(View v) {
  19.                         Toast.makeText(MainHelloRadioGroup.this, ((RadioButton)v).getText(), Toast.LENGTH_SHORT).show();

  20.                         }
  21.                 };

  22.                 radio_red.setOnClickListener(ocl);
  23.                 radio_blue.setOnClickListener(ocl);
  24.         }
  25. }
復(fù)制代碼



3、運(yùn)行程序,查看結(jié)果:
本講內(nèi)容比較多,例子也比較多,大家可以多做練習(xí)來加深理解和提高熟練度,并留意一些常用屬性的設(shè)置。這節(jié)課就到這里吧。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
單選按鈕 RadioButton 的應(yīng)用
Android軟件開發(fā)之盤點(diǎn)常用系統(tǒng)控件界面大合集(三)
Android中Toast對(duì)象的使用
TextView ? { Android學(xué)習(xí)指南 }
EditText的應(yīng)用--特殊格式的字符等
android界面設(shè)計(jì)——自定義邊框背景的Toast
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服