編輯:關於Android編程
在添加Widget之前需要做一些處理操作,可以使用 配置活動
在上一篇的實現基礎上,加上配置活動(configure=activity)。這時添加Widget時,會先打開一個Activity,進行配置操作,
配置活動的實現:
package com.stone.ui; import android.app.Activity; import android.appwidget.AppWidgetHost; import android.appwidget.AppWidgetManager; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import com.stone.R; /* * 配置部件 * 在onCreate中setContentView()函數前添加setResult(RESULT_CANCLE) ,這樣如果在Activity初始化完成前按下了BACK按鍵,則Widget不會啟動; * 在setContentView()函數之後(不一定要在onCreate中,在Activity退出前即可),添加如下設置以指定需要啟動的Widget */ public class AppWidgetConfigureActivity extends Activity implements OnClickListener { Button config1, config2, config3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); Bundle extras = intent.getExtras(); if (extras != null) { int widgetid = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);//從intent中得出widgetid //通知 appwdiget 的配置已取消 Intent reslut = new Intent(); reslut.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetid); setResult(RESULT_CANCELED, reslut); System.out.println("result cancel"); } setContentView(R.layout.switch_configure); config1 = (Button) findViewById(R.id.btn_config1); config2 = (Button) findViewById(R.id.btn_config2); config3 = (Button) findViewById(R.id.btn_config3); config1.setOnClickListener(this); config2.setOnClickListener(this); config3.setOnClickListener(this); } @Override protected void onResume() { super.onResume(); } private void onCompletedConfigure() { Intent intent = getIntent(); Bundle extras = intent.getExtras(); if (extras != null) { int widgetid = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);//從intent中得出widgetid //通知 appwdiget 的配置已完成 Intent reslut = new Intent(); reslut.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetid); setResult(RESULT_OK, reslut); System.out.println("result ok"); finish(); System.out.println("finish ok"); } } @Override public void onClick(View v) { if (v == config1) { //do config1 } else if (v == config2) { //do config2 } else if (v == config3) { //do config3 } onCompletedConfigure(); } }
switch_configure.xml
為了引入這個概率 首先從需求說起 即:現有某Activity專門用於手機屬性設置 那麼應該如何做呢? 根據已學知識 很快一個念頭閃過 即:Activity + Prefe
前面的幾篇文章都是講解的android中的窗口顯示機制,包括Activity窗口加載繪制流程,Dialog窗口加載繪制流程,PopupWindow窗口加載繪制流程,Toa
很多應用為了節省空間而又使界面能夠充足的顯示信息,大多數應用都采用了側邊欄的方式,如下圖: 來說說它
本文實例講述了Android TreeView效果實現方法。分享給大家供大家參考,具體如下:應該說很多的操作系統上面都提供了TreeView空間,實現樹形結構,這個樹形結