当前位置:首页 » 安卓系统 » 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 17:02:36 浏览:994
cpp1新建编译 发布:2025-03-10 17:00:14 浏览:226
走水标高算法 发布:2025-03-10 17:00:07 浏览:787
服务器更新地址之后登录不上 发布:2025-03-10 16:36:29 浏览:706
数据库前端 发布:2025-03-10 16:23:47 浏览:417
当脚本运行后 发布:2025-03-10 16:18:50 浏览:845
如何确认自己的手机型号安卓 发布:2025-03-10 16:11:31 浏览:23
linux系统命令及shell 发布:2025-03-10 16:09:55 浏览:763
配送宝源码 发布:2025-03-10 16:07:08 浏览:633
安卓wifi路由器在哪里看 发布:2025-03-10 15:47:09 浏览:269