android學習小結5

來源:互聯網
上載者:User

1 用一個VIEW做為訊息提示
    btn3.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
    View view = inflateView(R.layout.view);
    TextView txtMsg = (TextView) view.findViewById(R.id.txtMsg);
    txtMsg.setText("提示內容");

    Toast toast = new Toast(Main.this);
    toast.setView(view);
    toast.setDuration(Toast.LENGTH_LONG);
    toast.show();
   }
  });
2 狀態列通知
   public void onClick(View v) {
    // 執行個體化通知管理器
    NotificationManager nm = (NotificationManager) getSystemService

(NOTIFICATION_SERVICE);

    // 指定單擊通知後所開啟的詳細的通知頁面(單擊通知後開啟 NotificationView


    PendingIntent contentIntent = PendingIntent.getActivity(
      Main.this, 0, new Intent(Main.this, 

NotificationView.class), 0);

    // 執行個體化一個通知,並指定其表徵圖和標題(在提示欄上顯示)
    Notification n = new Notification(R.drawable.icon01, "我是滾動的通知資訊

我是滾動的通知資訊我是滾動的通知資訊", System.currentTimeMillis());
    
    // 設定通知的發送人和通知的詳細內容(開啟提示欄後在通知清單中顯示)
    n.setLatestEventInfo(Main.this, "通知發送人", "我是詳細的通知資訊我是詳

細的通知資訊我是詳細的通知資訊", contentIntent);

    // 100 毫秒延遲後,震動 250 毫秒,暫停 100 毫秒後,再震動 500 毫秒
    n.vibrate = new long[] { 100, 250, 100, 500 };
    
    // 發出通知(其中第一個參數為通知標識符)
    nm.notify(0, n);
   }
  });
 
3 圖片按鈕:
    ImageButton imgButton = (ImageButton) this.findViewById(R.id.imageButton);
  // 設定圖片按鈕的背景
  imgButton.setBackgroundResource(R.drawable.icon01);
4 圖片顯示:
      ImageView imgView = (ImageView) this.findViewById(R.id.imageView);
  // 指定需要顯示的圖片
  imgView.setBackgroundResource(R.drawable.icon01);
5 checkbox:
     CheckBox chk = (CheckBox) this.findViewById(R.id.chk1);
  // setOnCheckedChangeListener() - 響應複選框的選中狀態改變事件
  chk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  
   public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    TextView txt = (TextView) _CheckBox.this.findViewById(R.id.textView);
    txt.setText("CheckBox01 的選中狀態:" + String.valueOf(isChecked));  

  
   }
  });

6 ToggleButton:
    <!--
        ToggleButton - 雙狀態按鈕控制項
            textOn - 當按鈕狀態為 true 時所顯示的文本
            textOff - 當按鈕狀態為 false 時所顯示的文本
    -->
    <ToggleButton android:id="@+id/toggleButton"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:textOn="關閉" android:textOff="開啟" />

    final ToggleButton btn = (ToggleButton) this.findViewById(R.id.toggleButton);
        // setOnClickListener() - 響應按鈕的按一下滑鼠事件
        btn.setOnClickListener(new Button.OnClickListener(){
            @Override
            public void onClick(View v) {
                TextView txt = (TextView) _ToggleButton.this.findViewById(R.id.textView);
                // ToggleButton.isChecked() - 雙狀態按鈕的按鈕狀態
                txt.setText("按鈕狀態:" + String.valueOf(btn.isChecked()));
            }
        });
7 進度條:
   <!--
        進度條控制項(條狀)的示範
            style - 進度條的樣式,本例使用內建樣式
            max - 進度的最大值
            progress - 第一進度位置
            secondaryProgress - 第二進度位置
    -->
    <ProgressBar android:id="@+id/progress_horizontal"
        style="?android:attr/progressBarStyleHorizontal" android:layout_width="200px"
        android:layout_height="wrap_content" android:max="100"
        android:progress="50" android:secondaryProgress="75" />

     // 設定特性以允許在應用程式的標題列上顯示進度條(條狀)
        requestWindowFeature(Window.FEATURE_PROGRESS);
        // 設定特性以允許在應用程式的標題列上顯示進度條(圓圈狀)
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

        this.setContentView(R.layout.progressbar);

        setTitle("ProgressBar");
       
        // 在標題列上顯示進度條(條狀)
        setProgressBarVisibility(true);
        // 在標題列上顯示進度條(圓圈狀)
        setProgressBarIndeterminateVisibility(true);
       
        // 指定進度條的進度
        setProgress(50 * 100);
        setSecondaryProgress(75 * 100);

9 SeekBar:
   <!--
  SeekBar - 可拖動的進度條控制項
   max - 進度的最大值
   progress - 第一進度位置
   secondaryProgress - 第二進度位置
 -->
 <SeekBar android:id="@+id/seekBar" android:layout_width="fill_parent"
  android:layout_height="wrap_content" android:max="100"
  android:progress="50" android:secondaryProgress="75" />
      
        mSeekBar = (SeekBar) findViewById(R.id.seekBar);
  // setOnSeekBarChangeListener() - 響應拖動進度條事件
  mSeekBar.setOnSeekBarChangeListener(this);
       // 拖動進度條後,進度發生改變時的回調事件
 public void onProgressChanged(SeekBar seekBar, int progress,
   boolean fromTouch) {
  mProgressText.setText(progress + "%");
 }

 // 拖動進度條前開始跟蹤觸摸
 public void onStartTrackingTouch(SeekBar seekBar) {
  mTrackingText.setText("開始跟蹤觸摸");
 }

 // 拖動進度條後停止跟蹤觸摸
 public void onStopTrackingTouch(SeekBar seekBar) {
  mTrackingText.setText("停止跟蹤觸摸");
 }

10 放大縮小控制項:
   ZoomControls zoomControls = (ZoomControls) this.findViewById(R.id.zoomControls);
  // setOnZoomInClickListener() - 響應單擊放大按鈕的事件
  zoomControls.setOnZoomInClickListener(new OnClickListener() {
   public void onClick(View v) {
    Toast.makeText(_ZoomControls.this, "單擊了放大按鈕",

Toast.LENGTH_SHORT).show();
   }
  });
  
  // setOnZoomOutClickListener() - 響應單擊縮小按鈕的事件
  zoomControls.setOnZoomOutClickListener(new OnClickListener() {
   public void onClick(View v) {
    Toast.makeText(_ZoomControls.this, "單擊了縮小按鈕",

Toast.LENGTH_SHORT).show(); 
   }
  });

11 videoview:
    VideoView videoView = (VideoView) findViewById(R.id.videoView);
       
        // 指定需要播放的視頻的地址
        videoView.setVideoURI(Uri.parse("android.resource://com.webabcd.view/" + R.raw.demo));
        // videoView.setVideoPath();
        
        // 設定播放器的控制條
        videoView.setMediaController(new MediaController(this));
        // 開始播放視頻
        videoView.start();

12 tab控制項:
   <!-- Tab 1 的內容 -->
 <TextView android:id="@+id/view1" android:layout_width="fill_parent"
  android:layout_height="fill_parent" android:text="tab1 content" />
  
 <!-- Tab 2 的內容 -->
 <TextView android:id="@+id/view2" android:layout_width="fill_parent"
  android:layout_height="fill_parent" android:text="tab2 content" />

// 實現 Tab 功能的話要繼承 TabActivity
public class _Tab extends TabActivity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);

  TabHost tabHost = getTabHost();
  LayoutInflater.from(this).inflate(R.layout.tab, tabHost.getTabContentView(), true);

  // Tab 1 的內容
  tabHost.addTab(tabHost.newTabSpec("tab1")
    .setIndicator("tab1")
    .setContent(R.id.view1));
  
  // Tab 2 的內容(設定了 Tab 圖片)
  tabHost.addTab(tabHost.newTabSpec("tab2")
    .setIndicator("tab2", getResources().getDrawable(R.drawable.icon01))
    .setContent(R.id.view2));
  
  // Tab 3 的內容(設定 Tab 的內容為指定的 Activity)
  tabHost.addTab(tabHost.newTabSpec("tab3")
    .setIndicator("tab3")
    .setContent(new Intent(this, _TextView.class)));

 }
}

13 GALLERY縮圖組件:
    <!--
        Gallery - 縮圖瀏覽器控制項
            spacing - 縮圖列表中各個縮圖之間的間距
    -->
    <Gallery android:id="@+id/gallery" android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:spacing="20px" />

  Gallery gallery = (Gallery) findViewById(R.id.gallery);
        // 為縮圖瀏覽器指定一個適配器
        gallery.setAdapter(new ImageAdapter(this));
        // 響應 在縮圖列表上選中某個縮圖後的 事件
        gallery.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View v,
                    int position, long id) {
                Toast.makeText(_Gallery.this, String.valueOf(position), Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {

            }
        });
    }

    // 繼承 BaseAdapter 用以實現自訂的圖片適配器
    public class ImageAdapter extends BaseAdapter {

        private Context mContext;

        public ImageAdapter(Context context) {
            mContext = context;
        }

        public int getCount() {
            return mThumbIds.length;
        }

        public Object getItem(int position) {
            return position;
        }

        public long getItemId(int position) {
            return position;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            ImageView image = new ImageView(mContext);

            image.setImageResource(mThumbIds[position]);
            image.setAdjustViewBounds(true);
            image.setLayoutParams(new Gallery.LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

            return image;
        }
    }

    // 需要顯示的圖片集合
    private Integer[] mThumbIds = { R.drawable.icon01, R.drawable.icon02,
            R.drawable.icon03, R.drawable.icon04, R.drawable.icon05 };

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.