當前位置:首頁 » 安卓系統 » androidshowdialog

androidshowdialog

發布時間: 2022-11-27 14:12:13

㈠ Android showDialog()這個方法有什麼用

showDialog(int): 當你想要顯示一個對話框時,調用showDialog(int id) 方法並傳遞一個唯一標識這個對話框的整數。當對話框第一次被請求時,Android從你的Activity中調用onCreateDialog(int id),你應該在這里初始化這個對話框Dialog。這個回調方法被傳以和showDialog(int id)相同的ID。當你創建這個對話框後,在Activity的最後返回這個對象。
詳見:http://www.cnblogs.com/salam/archive/2010/11/15/1877512.html

㈡ android中的showdialog中的ID代表什麼意思

showDialog(int id),其中的id是指的Dilaog的id,和你用其他TextView等控制項一樣的。
指的是你指定的dialog的id.

㈢ 關於android中執行程序的提示

做類似ProgressDialog的效果?
函數執行完調用Dialog.dismiss()就可以關閉Dialog

㈣ 簡述在android中如何發送廣播消息

  1. 首先要聲明廣播


=newBroadcastReceiver()

{

@Override

publicvoidonReceive(Contextcontext,Intentintent)//onReceive函數不能做耗時的事情,參考值:10s以內

{

Log.d("scott","onreceiveaction="+intent.getAction());

Stringaction=intent.getAction();

if(action.equals("com.scott.sayhi"))

{

showDialog("onreceiveaction="+intent.getAction());

}

}

};

2.其次要注冊廣播,有兩種方式:xml注冊和代碼注冊


xml注冊:

<receiver android:name="com.scott.sayhi.MyBroadcastReceiver" >
<intent-filter>
<action android:name="com.scott.sayhi" />
</intent-filter>
</receiver>


代碼注冊:

IntentFilter filter = new IntentFilter();
filter.addAction("com.scott.sayhi");
MyActivity.this.registerReceiver(mBroadcastReceiver, filter);

上述2個步驟就可以了。


3.發送廣播


Intentintent=newIntent();

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent.setAction("com.scott.sayhi");

MyActivity.this.sendBroadcast(intent);

Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction("com.scott.sayhi");
MyActivity.this.sendBroadcast(intent);


4.收聽開機廣播

intent-filter設置如下即可

<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>

㈤ android 彈出輸入框並得到輸入框的結果

不用找了,這才是正解。你的需求其實是,需要一個阻塞式對話框,安卓本身所有彈窗都是非阻塞的。

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.os.Handler;

import android.os.Looper;

import android.os.Message;

import android.widget.EditText;

/**

* 動態獲取用戶輸入後在繼續後面的流程

* 這是一個模態阻塞對話框(阻塞主線程,結果不用回調來處理)

*/

public class BlockingInputDialog {

String mInputString = "";

Activity mContext;

String mTitle;

EditText mEditText;

Handler mHandler;

public BlockingInputDialog(Activity context, String title){

mContext = context;

mTitle = title;

}

public String showDialog(){

mHandler = new Handler(){

@Override

public void handleMessage(Message msg) {

//super.handleMessage(msg);

throw new RuntimeException();

}

};

AlertDialog.Builder builder = new AlertDialog.Builder(mContext);

builder.setTitle(mTitle);

builder.setCancelable(false);

mEditText = new EditText(mContext);

builder.setView(mEditText);

builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialogInterface, int i) {

mInputString = mEditText.getText().toString();

Message message = mHandler.obtainMessage();

mHandler.sendMessage(message);

}

});

builder.setNegativeButton("取消", null);

builder.create().show();

try {

Looper.getMainLooper().loop();

}

catch(RuntimeException e2)

{

}

return mInputString;

}

}

㈥ Android開發中,關於對話框中的圓形進度條和Layout的問題

首先解決問題一的問題:
你肯定使用了系統的 oncreateDialog 和 showdialog 方法了,所以 這個就會顯示一次 第二次不顯示了 , 你應該調用 dialog方法裡面的 show()方法 來顯示,這樣每次顯示那個progressbar都會在轉圈

問題二:
你說下面設置了一個白色背景,但是下面還是有個框,不過我有個疑問,如果你設置為白色背景,那麼你的轉條默認是白色的不就看不見了嗎?好了這個問題不糾結了!那個黑色的是邊框導致的,去掉邊框就行了

一般我們採用的是自定義dialog,也就是寫一個類來繼承dialog,這個時候的構造函數是這個:

public MyDialog(Context context, int theme) {
super(context, theme);
this.context = context;
init();
}

這個theme是什麼東西呢? 就是一個style樣式 如下:

<resources>    <style name="dialog" parent="@android:style/Theme.Dialog">        <item name="android:windowFrame">@null</item><!--邊框--        <item name="android:windowIsFloating">true</item><!--是否浮現在activity之上--      
<item name="android:windowIsTranslucent">false</item><!--半透明--        <item name="android:windowNoTitle">true</item><!--無標題--        <item name="android:windowBackground">@color/transparent</item><!--背景透明--        <item name="android:backgroundDimEnabled">false</item><!--模糊--    </style></resources> 

其他代碼:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Dialog dialog = new MyDialog(this, R.style.MyDialog);

android.view.WindowManager.LayoutParams pa3 = new android.view.WindowManager.LayoutParams();
pa3.height = android.view.WindowManager.LayoutParams.WRAP_CONTENT;
pa3.width = android.view.WindowManager.LayoutParams.WRAP_CONTENT;
pa3.x = 0;//x 起點
pa3.y = 0;//y起點
Window window = dialog.getWindow();
window.setAttributes(pa3);
dialog.show();
return super.onKeyDown(keyCode, event);
}
之所以android.view.WindowManager.LayoutParams我要這么寫,因為LayoutParams太多了,我害怕你找半天,兄弟對你夠好了吧!
要是選為精彩回答 那就謝謝你了!

㈦ 【android】在執行某個方法的時候 屏蔽返回鍵

android對於activity里都有一個方法,用來檢測是否按下了返回鍵或者home鍵,只要設置一下就可以屏蔽返回鍵,示例如下:

java">@Override
publicbooleanonKeyDown(intkeyCode,KeyEventevent){
//TODOAuto-generatedmethodstub
if(keyCode==KeyEvent.KEYCODE_BACK){
showDialog(2);
returntrue;
}
returnsuper.onKeyDown(keyCode,event);
}

㈧ android 怎麼允許關機彈出窗口

這個彈窗是在長按power鍵後觸發的事件,彈窗內容有關機,重啟和飛行模式等,你可以在GlobAction 中
/**
* Show the global actions dialog (creating if necessary)
* @param keyguardShowing True if keyguard is showing
*/
public void showDialog(boolean keyguardShowing, boolean isDeviceProvisioned) {
mKeyguardShowing = keyguardShowing;
mDeviceProvisioned = isDeviceProvisioned;
if (mDialog != null) {
mDialog.dismiss();
mDialog = null;
// Show delayed, so that the dismiss of the previous dialog completes
mHandler.sendEmptyMessage(MESSAGE_SHOW);
} else {
handleShow();
}
}

㈨ Android基礎知識

一、activity

1.一個activity就是一個類,繼承activity;

2.需要復寫onCreate()方法;

3.每一個activity都需要在AndroidMainfest.xml清單上進行配置;

4.為activity添加必要的控制項。

二、布局

線性布局:LinearLayout

1.填滿父空間:fill_parent、match_parent

2.文本多大空間就有多大:warp_content

3.文字對齊方式:gravity

4.占屏幕的比例:layout_weight="1"  水平方向,則width=0,垂直方向,則height=0

5.一行顯示,空間不夠會省略:singleLine="ture"  false會換行

6.背景:background="#ffffff"

7.水平布局:orientation="horizontal"

垂直布局:orientation="vertivcal"

表格布局:TableLayout

1.內邊距:padding

2.外邊距:marginLeft\Start、Right\End、Top、Bottom

三、RelativeLayout相對布局

layout_above 將該控制項的底部置於給定ID控制項之上

layout_below 將該控制項的頂部置於給定ID控制項之下

layout_toLeftOf 將該控制項的右邊緣和給定ID控制項的左邊緣對齊

layout_toRightOf 將該控制項的左邊緣和給定ID控制項的右邊緣對齊

layout_alignBaseline 該控制項的baseline和給定ID的控制項的Baseline對齊

layout_alignBottom 該控制項的底部邊緣和給定ID的控制項的底部邊緣對齊

layout_alignLeft 該控制項的左邊緣和給定ID的控制項的左邊緣對齊

layout_alignRight 該控制項的右邊緣和給定ID的控制項的右邊緣對齊

layout_alignTop 該控制項的頂部邊緣和給定ID的控制項的頂部邊緣對齊

layout_alignparentBottom 如果該值為true,則該控制項的底部和父控制項的底部對齊layout_alignParentLeft 如果該值為true,則該控制項的左邊和父控制項的左邊對齊

layout_alignParentRight 如果該值為true,則該控制項的右邊和父控制項的右邊對齊

layout_alignParentTop 如果該值為true,則該控制項的上邊和父控制項的上邊對齊

layout_centerHorizontal 如果該值為true,則該控制項將被置於水平方向的中央

layout_centerInParent 如果該值為true,則該控制項將被置於父控制項水平和垂直方向的中央

layout_centerVertival 如果該值為true,則該控制項將被置於垂直方向的中央

四、一個Intent對象包含一組信息

1.Component name

2.Action

3.Data

4.Category

5.Extras

6.Flags

Intent intent = new Intent(this, SecondActivity.class);

startActivity(intent);  //startActivity方法

intent.putExtra("Key", "Value");  //鍵值對

intent = getIntent();

String value = intent.getStringExtra("Key");    //通過鍵提取數據

五、初級控制項:EditText、TextView、Button

1.獲取EditText的值

String value = EditText.getText().toString();

2.將值放到Intent對象中

Intent intent = new Intent();

intent.putExtra("one",value )

intent.setCalss(Activity.this, OtherActivity.class);

3.使用這個Intent對象來啟動Otheractivity

Activity.this.startActivity(intent);

4.將監聽器的對象綁定到按鈕對象上

button.setOnclickListener(new Listener());

5.得到Intent對象當中的值

Intent intent = getIntent();

String value1 = intent.getStringExtra("one");

int value2 = Integer.parseInt(value);

六、其他初級控制項使用

①ImageView

②RadioGroup和RadioButton

setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener())

③Checkbox

setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener())

④Menu

1.當客戶點擊MENU按鈕的時候,調用onCreateOptionMenu()方法

public boolean onCreateOptionMenu(Menu menu){

menu.add(0,1,1,R.string.id);

}

2.當客戶點擊MENU內部的具體某一個選項時,調用onOptionItemSelected()方法

public boolean onOptionItemSelected(MenuItem item){

if(item.getItemId() == 1){

finish();

}

return super.onOptionItemSelected(item);

}

七、Activity的生命周期

1.第一次創建時調用

protected void onCreat(Bundle saveInstanceState);

2.顯示出來時調用

protected void onStrat();

3.獲得用戶焦點時調用(可操作)

protected void onResume();

4.點擊彈出第二個Activity時調用

protected void onPause();

5.當第一個Activity不可見時調用

protected void onStop();

6.當返回第一個Activity時調用,代替OnCreate,因為沒被銷毀

protected void onRestart();

7.當返回第一個Activity時調用(先執行onStop,在執行,因為第二個Activity被銷毀,不能返回獲取,只能通過onCreat,onStart,onResume再創建)

protected void onDestory();

八、Task

1.Task是存放Activity的Stack棧。當點擊啟動第二個Activiry時,第一個Activtiy會被壓入Stack棧當中,第二個Activity會位於棧的頂部;當返回第一個Activtiy時,第二個Activity會被彈出Stack,第一個Activity會位於棧的頂部,以此類推。

注釋:當調用finish()時,當前的Activity會被Destory掉,棧中的Activity會消失。

2.當Activity都從Stack退出後,則就不存在Task。

九、高級控制項

①進度條ProgressBar

水平進度條style="?android:attr/progressBarStyleHorizontal"

圓圈進度條style="?android:attr/progressBarStyle"

用戶可視的visibility="gone"

②列表ListView

十、其他控制項

A.下拉菜單Spinner

1.創建一個ArrayAdapter:

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(

this, //指上下文對象

R.array.plant_array, //引用了在文件中定義的String數組

android.R.layout.simple_spinner_item);//用來指定Spinner的樣式,可替換自定義

adapter.setDropDownViewResource(

android.R.layout.simple_spinner_dropdown_item);//設置Spinner當中每個條目的樣式

2.得到Spinner對象,並設置數據:

spinner=(spinner)findViewById(R.id.spinnerId);

spinner.setAdapter(adapter);

spinner.setPrompt("測試");//標題

3.創建監聽器

class SpinnerOnSelectListener implements OnItemSelectedListener{

@override

public void onItemSelected(

AdapterView<?> adapterView,//整個列表對象

View view,//被選中的具體條目對象

int position,//位置

long id){ //id

String selected = adapterView.getItemAtPosition(position).toString();

}

@override

public void onNothingSelected(AdapterView<?> adapterView){

S.o.p("nothingSelected");

}

}

4.綁定監聽器

spinner.setOnItemSelectedListener(new SpinnerOnSelectListener());

註:第二種動態設計

1.創建ArrayList對象

List<String> list = new ArrayList<String>();

list.add("test1");

2. 調用方法

ArrayAdapter adapter = new ArrayAdapter(

this, //指上下文對象

R.layout.item, //引用了指定了下拉菜單的自定義布局文件

R.id.textViewId,//id

list);//數據

3.得到Spinner對象,並設置對象

spinner.setAdapter(adapter);

spinner.setPrompt("測試");//標題

3.創建監聽器

class SpinnerOnSelectListener implements OnItemSelectedListener{

@override

public void onItemSelected(

AdapterView<?> adapterView,//整個列表對象

View view,//被選中的具體條目對象

int position,//位置

long id){ //id

String selected = adapterView.getItemAtPosition(position).toString();

}

@override

public void onNothingSelected(AdapterView<?> adapterView){

S.o.p("nothingSelected");

}

}

4.綁定監聽器

spinner.setOnItemSelectedListener(new SpinnerOnSelectListener());

B.DatePicker和DatePickerDialog

1.聲明一個監聽器,使用匿名內部類

DatePickerDialog.OnDateSetListener onDateSetListener

= new DatePivkerDialog.OnDateSetListener(){

public void onDateSet(

DatePicker view,

int year,

int monthOfYear,

int dayOfMonth){

S.o.p(year+"-"+motnOfYear+"-"+dayOfMonth)

}

}

2.復寫onCreateDialog(int id)方法:

@override

protected Dialog onCreateDialog(int id){

switch(id){

case DATE_PICKER_ID:

return new DatePickerDialog(this,onDateSetListener,2019,11,25);

}

return null;

}

3.使用時調用showDialog()方法

showDialog(DATE_PICKER_ID);

C.AutoCompleteTextView

B.Widget

C.Animatin

十一、實現ContentProvider過程

1.定義一個CONTENT_URI常量

2.定義一個類,繼承ContentProvider

3.實現query、insert、update、delete、getType和onCreate方法

4.在AndroidManifest.xml當中進行聲明

熱點內容
壓縮褲性感 發布:2025-03-10 20:24:34 瀏覽:762
光遇安卓服為什麼注銷不了賬號 發布:2025-03-10 20:24:28 瀏覽:585
shell腳本教程視頻 發布:2025-03-10 20:05:45 瀏覽:61
吶喊解壓歌曲 發布:2025-03-10 19:30:22 瀏覽:669
怎樣用電腦做家庭雲伺服器 發布:2025-03-10 19:28:07 瀏覽:244
編程分享家 發布:2025-03-10 19:24:19 瀏覽:731
python切換路徑 發布:2025-03-10 19:21:58 瀏覽:922
數值最優化演算法與理論 發布:2025-03-10 19:09:45 瀏覽:315
p30伺服器怎麼樣 發布:2025-03-10 19:01:36 瀏覽:5
四州志是由誰編譯的 發布:2025-03-10 19:01:33 瀏覽:214