- 浏览: 637609 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
luo_ganlin:
别的不多说,点个赞!
关于Android隐式启动Activity -
IWSo:
谢楼主!研究了好久,原来是这样!
android中如何让LinearLayout实现点击时背景图片切换 -
fantao005x:
粘帖的不错
android中如何让listview的内容全部显示出来 -
learner576539763:
Android_gqs 写道请问博主,Viewstub 可实现 ...
android中ViewStub使用 -
goontosoon:
抄的什么啊,狗屁不通
对ContentProvider中getType(Uri uri)
public ShelfSwitchDialog(Context context) { super(context,android.R.style.Theme_NoTitleBar); setContentView(R.layout.newspaper_switch_dialog); this.context = context; Window win = getWindow(); win.getAttributes().gravity = Gravity.TOP; win.setBackgroundDrawableResource(R.drawable.newspaper_blank); //大小 win.setLayout(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); }
dialog的定制 :
public class ShelfSwitchDialog extends Dialog implements OnClickListener{
Context context; ImageView yingyong,shudian,baojia; int selectIndex; String[] choiceItems = new String[]{"图书","报架"}; public ShelfSwitchDialog(Context context,int paddingLeft){ this(context); View v = findViewById(R.id.dialog_root_layout); v.setPadding(paddingLeft-50,50,v.getPaddingRight(),v.getPaddingBottom()); yingyong = (ImageView)findViewById(R.id.yingyong); yingyong.setOnClickListener(this); shudian = (ImageView)findViewById(R.id.shudian); shudian.setOnClickListener(this); baojia = (ImageView)findViewById(R.id.baojia); baojia.setOnClickListener(this); } public ShelfSwitchDialog(Context context) { super(context,android.R.style.Theme_NoTitleBar); setContentView(R.layout.newspaper_switch_dialog); this.context = context; Window win = getWindow(); win.getAttributes().gravity = Gravity.TOP; win.setBackgroundDrawableResource(R.drawable.newspaper_blank); //大小 win.setLayout(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); } public AlertDialog create(){ if(context==null){return null;} final boolean instOfStore = context instanceof ShelfActivity||context instanceof BooksListActivity; final boolean instOfShelf = context instanceof NewspaperShelf; final Intent shelfIntent = new Intent(context,NewspaperShelf.class); final Intent storeIntent = new Intent(context,ShelfActivity.class); AlertDialog.Builder builder = new AlertDialog.Builder(context); AlertDialog dialog = builder .setIcon(R.drawable.newspaper_ic_switch) .setTitle("切换到:") .setSingleChoiceItems(choiceItems, 0, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { selectIndex = whichButton; } }) .setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { // Log.v("","whichButton:"+selectIndex); if(instOfStore){ switch(selectIndex){ case 0: Toast.makeText(context,"当前已是书店",Toast.LENGTH_SHORT).show(); break; case 1: context.startActivity(shelfIntent); break; } } else if(instOfShelf){ switch(selectIndex){ case 0: ((ShelfActivity)context).finish(); break; case 1: Toast.makeText(context,"当前已是报架",Toast.LENGTH_SHORT).show(); break; } } } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { } }) .create(); dialog.getWindow().getAttributes().gravity = Gravity.TOP; dialog.getWindow().setLayout(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); return dialog; } @Override public void onClick(View v) { final boolean instOfShelf = context instanceof ShelfActivity; final boolean instOfNewspaperShelf = context instanceof NewspaperShelf; final boolean instOfStoreActivity = context instanceof StoreActivity; final boolean instOfBooksListActivity = context instanceof BooksListActivity; final Intent newspaperShelfIntent = new Intent(context,NewspaperShelf.class); final Intent shelfIntent = new Intent(context,ShelfActivity.class); switch(v.getId()){ case R.id.yingyong: Intent intent = new Intent("cn.chutong.ereader.finishactivity"); dismiss(); context.sendBroadcast(intent); break; case R.id.shudian: if(instOfNewspaperShelf){ ((NewspaperShelf)context).finish(); dismiss(); } else if(instOfShelf||instOfBooksListActivity){ Toast.makeText(context,"当前已是书店",Toast.LENGTH_SHORT).show(); dismiss(); } else if(instOfStoreActivity){ dismiss(); ((StoreActivity)context).finish(); context.startActivity(shelfIntent); } break; case R.id.baojia: if(instOfNewspaperShelf){ Toast.makeText(context,"当前已是报架",Toast.LENGTH_SHORT).show(); dismiss(); } else if(instOfShelf||instOfBooksListActivity){ context.startActivity(newspaperShelfIntent); dismiss(); } else if(instOfStoreActivity){ context.startActivity(newspaperShelfIntent); dismiss(); ((StoreActivity)context).finish(); } break; } } }
效果图:
第二种情况:
addCustomDlg = new Dialog(this, R.style.dialog); addCustomDlg.setContentView(R.layout.add); addCustomDlg.show(); confirmBtn = (Button) addCustomDlg.findViewById(R.id.confirmBtn); edit = (EditText) addCustomDlg.findViewById(R.id.txt); edit.setText(""); btn_back = (ImageButton) addCustomDlg.findViewById(R.id.btn_back); btn_back.setOnClickListener(this); confirmBtn.setOnClickListener(this);
直接从dialog中获取控件,并绑定事件
效果:
发表评论
-
EditText软键盘弹出问题解决
2013-02-26 23:10 1469当带有EditView的activity第一次进入时,第一 ... -
android中获取系统相关属性adb
2012-11-15 14:41 22011.查看系统相关属性可以通过: adb shell ... -
Android使用Intent传递复杂参数及复杂参数列表
2012-11-05 17:29 1637刚开始一直纠结于Intent只能put像int, ... -
解决P6200/P6800扩展卡第三方软件不可写的BUG
2012-11-05 17:01 1036从XDA看来的步骤:1. Using a root-e ... -
android 中跟actionbar相关的属性
2012-10-25 17:07 2485android:uiOptions 这个属性用于设置A ... -
source insight使用快捷键
2012-10-25 10:59 1560F5指定行号,实现行跳转,在遇到编译错误的时候,能特 ... -
android中推出应用比较有效率的方法
2012-10-11 16:57 1167添加一个全局变量作为程序退出的标记(boolean类型) ... -
declare-styleable的使用
2012-10-09 13:59 1179declare-styleable的使用 decl ... -
android程序安全的建议
2012-09-29 14:58 5316如果保证自己的 ... -
Java自带的线程池ThreadPoolExecutor详细介绍说明和实例应用
2012-09-29 14:45 1080从 Java 5 开始,Java 提供了自己的线程池。线 ... -
android应用检测更新代码
2012-09-24 17:40 1853JAVA代码: UpdateManager.java ... -
adb命令详解
2012-09-19 15:04 2892Android adb的常用命令略解 Androi ... -
android中屏蔽其它系统按钮的dialog
2012-09-18 10:13 1655public class MyProgress ... -
如何给Scrollview里内容截屏并生成bitmap,注意:Scrollview里面内容较多有滚动了
2012-09-18 10:07 1649使用for循环递归累加其内部的子控件的高度: p ... -
wakelock的使用
2012-09-17 11:44 10088PowerManager.WakerLock是我分析St ... -
启动另外一个apk
2012-09-14 13:16 907这篇博文主要是获取其他apk程序的启动的主intent, ... -
android中全屏的方法
2012-09-14 13:04 9711.直接代码编写 @Override ... -
android:installLocation简析
2012-09-12 15:25 1124在Froyo(android 2.2,API Le ... -
外部apk启动启动另外一个apk
2012-09-06 17:54 1057public class TestingBroadc ... -
listview如何实现圆角
2012-09-05 17:32 1944首先呢,我们还是看几个示图:(这是360推出的一款天气预 ...
相关推荐
在Android开发中,自定义Dialog是一种常见的用户交互方式,它能提供更为丰富的界面和功能,以满足特定场景下的需求。...在实际开发中,还可以根据需求进一步定制Dialog的功能和样式,比如添加底部操作栏、顶部标题等。
在Android开发中,自定义组件是一项常见的需求,特别是在创建用户界面时,为了提供更好的用户体验,开发者经常需要定制一些特殊的对话框(Dialog)。本教程将详细讲解如何实现一个自定义的加载对话框(Loading ...
总结来说,“android自定义圆角dialog”是一个专注于Android Dialog样式定制的实践案例,主要涉及自定义Dialog类的创建、布局设计以及圆角效果的实现。通过研究此项目,开发者能够了解到如何根据实际需求打造更加...
在Android应用开发中,Dialog是一种重要的用户交互组件,它用于显示临时信息或向用户征求简短的确认或选择。在日常开发中,我们经常会遇到各种类型的对话框需求,如警告、确认、信息提示等。本资源集合了Android中...
在Android开发中,创建自定义对话框(Dialog)是一种常见的需求,这允许开发者根据应用的UI风格和功能需求定制对话框的布局和交互方式。本文将深入探讨如何创建一个自定义右上角带有关闭叉号的Dialog,并实现点击...
在Android开发中,Dialog对话框是一种非常常见的组件,它用于在主界面之上显示临时的通知或交互信息,而不中断用户对应用程序的主要操作。本资源“安卓Dialog对话框相关-androiddialog总结Dialog整理.rar”提供了...
在Dialog中添加交互元素,如按钮,可以使用`Button`视图,并设置其点击监听器。例如,我们可以创建一个`OnClickListener`来处理按钮的点击事件,执行相应的逻辑。对于复杂的交互,可能还需要使用`EditText`或其他...
4. 考虑到界面的美感,可以使用Android的Material Design库,或者自定义主题和样式来进一步定制Dialog的外观。这可能涉及到修改Dialog的主题属性,例如背景颜色、边框、字体等。 5. 对于更复杂的交互,例如动画效果...
- 不要在Dialog中执行耗时的操作,以免阻塞主线程。 - 对于重要的对话,考虑使用`AlertDialog`而不是普通的`Dialog`,因为`AlertDialog`提供了更好的默认样式和行为。 综上所述,`Android自定义dialogDemo`涵盖了...
在Android应用开发中,对话框(Dialog)是一种重要的交互...在`DialogDemo`中,我们展示了如何创建一个带有标题、内容和两个按钮的自定义对话框,这只是一个基础示例,实际应用中,可以根据项目需求进行扩展和定制。
在Android开发中,自定义Dialog是一种常见的需求,它允许开发者创建具有特定布局和功能的对话框,以提供更丰富的用户体验。本篇文章将深入探讨如何在Android中实现一个自定义Dialog并嵌套ListView,同时实现点击事件...
在Android开发中,Dialog是一种常见的用户交互组件,用于在主线程中显示临时信息或进行简单的操作选择。在设计用户界面时,有时我们可能希望Dialog具有透明背景或者可以自定义其显示位置,以达到更佳的视觉效果。本...
在Android开发中,有时我们可能需要...Dialog提供了基本的对话框功能,而PopupWindow提供了更大的定制空间和灵活性。结合`PopAnim`中的动画效果,我们可以创造出既美观又实用的自定义对话框,提升应用程序的用户体验。
在Android开发中,Dialog是一个非常重要的组件,它用于在用户界面中显示临时的、轻量级的窗口...在实际开发中,根据项目需求选择合适的Dialog类型,并利用Builder模式进行个性化定制,是每个Android开发者必备的技能。
在Android开发中,Dialog是一种非常重要的UI组件,它用于向用户显示临时信息或者与用户进行交互。本示例“Pro Android学习:Dialog小例子”旨在深入解析如何在Android应用程序中创建和使用Dialogs,以及与Fragment...
在Android开发中,Dialog是一种非常重要的UI组件,用于在用户界面中显示临时信息或与用户进行交互。"Android中Dialog从底部划入"这个话题主要关注如何实现一个自定义的Dialog,使其从屏幕底部动画滑出,提升用户体验...
在Android开发中,有时我们需要创建一个对话框(Dialog)来展示一些信息或者提供用户交互,例如选择、设置等。在这种情况下,如果对话框中的内容需要包含列表数据,我们就会使用到`Dialog`嵌套`ListView`的技术。这...
在Android开发中,自定义Dialog是一种常见的用户交互方式,它能提供更为丰富的界面展示和定制化功能。本文将深入探讨如何通过自定义Dialog来理解接口回调(callback)机制,这在进行Android应用开发时是非常重要的一...
在Android SDK中,Dialog是一个继承自`android.app.Dialog`的类,它是用来显示一个浮现在当前Activity之上的小窗口,通常用于展示临时信息或获取用户输入。创建Dialog的基本步骤包括: 1. **创建Dialog实例**:通过...
在Android开发中,Dialog是一种非常常见的用户界面组件,它用于向用户展示临时信息或进行简单的交互操作。对话框通常会浮现在应用主界面之上,但它的显示位置可以根据开发者的需求进行定制。本文将深入探讨如何在...