android 自定义Dialog背景透明及显示位置设置
- 格式:docx
- 大小:62.18 KB
- 文档页数:3
Android中activity背景⾊的设置主题Theme就是⽤来设置界⾯UI风格,可以设置整个应⽤或者某个活动Activity的界⾯风格。
在Android SDK中内置了下⾯的Theme,可以按标题栏Title Bar和状态栏Status Bar是否可见来分类:这些主题可以应⽤到整个应⽤Application范围或者某个活动Activity范围中。
应⽤Application范围:在AndroidManifest.xml中的application节点中设置theme属性,主题theme应⽤到整个应⽤程序中。
活动Activity范围:使⽤java代码或者在AndroidManifest.xml中对活动Activity的主题进⾏设置,主题仅应⽤到当前活动中。
在AndroidMainifest.xml设置⽅法:(XML中代码间不能有空格,注意中英⽂引号)使⽤java代码进⾏设置,在当前活动Activity的onCreate中进⾏设置:[java] view plaincopyprint?@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setTheme(android.R.style.Theme_Translucent_NoTitleBar);setContentView(yout.main);}背景颜⾊还可以在布局XML中设置:<LinearLayout xmlns:android="/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#ffffff">直接设置Activity的背景颜⾊⼀般我们都是使⽤布局⽂件直接加载到Activity,从⽽覆盖了Activity的颜⾊。
Android实现底部弹出PopupWindow背景逐渐变暗效果在Android开发中,经常需要通过点击某个按钮弹出对话框或者选择框,通过Dialog或者PopupMenu、PopupWindow都能实现。
这⾥主要介绍后两者:PopupMenu、PopupWindow的实现。
先看两个效果图上边PopupMenu,下边PopupWindow:PopupMenu PopupWindow⼀、PopupMenu实现:PopupMenu实现起来⽐较简单,主要⽤来实现根据按钮附近弹出的对话框。
⾸先定义⼀个menu⽂件\res\menu\headmenu.xml:<menu xmlns:android="/apk/res/android"xmlns:app="/apk/res-auto"xmlns:tools="/tools" tools:context="com.arbo.hero.LoginActivity"><itemandroid:id="@+id/camera"android:title="拍照"android:orderInCategory="100"app:showAsAction="never" /><itemandroid:id="@+id/gallery"android:title="从相册中选取"android:orderInCategory="100"app:showAsAction="never" /><itemandroid:id="@+id/cancel"android:title="取消"android:orderInCategory="100"app:showAsAction="never" /></menu>创建⼀个PopupMenu并添加点击事件:private void showPopmenu(View view){popupMenu = new PopupMenu(this,view);popupMenu.getMenuInflater().inflate(R.menu.headmenu,popupMenu.getMenu());popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {@Overridepublic boolean onMenuItemClick(MenuItem item) {switch(item.getItemId()){case R.id.camera:Toast.makeText(HeadPortrait.this,"Click camera",Toast.LENGTH_SHORT).show();break;case R.id.gallery:Toast.makeText(HeadPortrait.this,"Click gallery",Toast.LENGTH_SHORT).show();break;case R.id.cancel:Toast.makeText(HeadPortrait.this,"Click cancel",Toast.LENGTH_SHORT).show();break;}return false;}});popupMenu.show();}MainActivity很简单,点击按钮调⽤showPopmenu()⽅法即可:public class MainActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//main.xml页⾯主布局只有⼀个按钮,这⾥就不贴代码了setContentView(yout.main);Button button = (Button) findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//点击按钮就创建并显⽰⼀个popupMenushowPopmenu(btnmenu);}}}}以上,就实现了利⽤PopupMenu在按钮附近弹出⼀个选择框。
Android实现修改状态栏背景、字体和图标颜⾊的⽅法前⾔:Android开发,对于状态栏的修改,实在是不友好,没什么api可以⽤,不像ios那么⽅便.但是ui⼜喜欢只搞ios⼀套.没办法.各种翻源码,写反射.真的蛋疼.需求场景:当toolbar及状态栏需要为⽩⾊或浅⾊时(如简书),状态栏由于⽤的Light风格Theme,字体,图标也都是⽩⾊,会看不清.如果改变成⿊⾊就很和谐了.⼀.修改状态栏颜⾊:改变状态栏颜⾊,可以看看这篇⽂章.传送门:传送门实现的效果:这种⽅法实现的状态栏变⾊,没有⿊⾊背景.使⽤全屏模式实现的效果如下(QQ的效果):很明显的⿊⾊背景.我⽤的⼿机是华为,系统7.0⼆.修改状态栏字体:通⽤⼯具类:public class StatusBarUtil {/*** 设置状态栏⿊⾊字体图标,* 适配4.4以上版本MIUIV、Flyme和6.0以上版本其他Android** @return 1:MIUUI 2:Flyme 3:android6.0*/public static int getStatusBarLightMode(Window window) {int result = 0;if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {if (MIUISetStatusBarLightMode(window, true)) {result = 1;} else if (FlymeSetStatusBarLightMode(window, true)) {result = 2;} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);result = 3;} else {//5.0}}return result;}/*** 已知系统类型时,设置状态栏⿊⾊字体图标。
Dialog全屏,去掉状态栏的⽅式dialog即使设置全屏了,但还是有状态栏占⽤⾼度这;直接将下⾯这⾏代码放到你的dialog中即可@Overrideprotected void onStart() {super.onStart();int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_LAYOUT_STABLE| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_IMMERSIVE| View.SYSTEM_UI_FLAG_FULLSCREEN;this.getWindow().getDecorView().setSystemUiVisibility(uiOptions);}顺便说下⾃定义dialog宽⾼:youtParams attributes = getWindow().getAttributes();attributes.width = width;attributes.height = height;getWindow().setAttributes(attributes);添加两个基本的style<!--普通dialog样式--><style name="customerDialog" parent="@android:style/Theme.Dialog"><item name="android:windowFrame">@null</item><item name="android:windowIsFloating">true</item><item name="android:windowIsTranslucent">true</item><item name="android:windowNoTitle">true</item><item name="android:background">@android:color/transparent</item><!-- <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item> --><item name="android:windowBackground">@android:color/transparent</item><item name="android:windowSoftInputMode">stateHidden|adjustPan</item></style><!--透明背景dialog样式--><style name="TransparentDialogStyle" parent="@android:style/Theme.Dialog"><item name="android:windowBackground">@android:color/transparent</item><item name="android:windowNoTitle">true</item><item name="android:backgroundDimEnabled">false</item></style>补充知识:Android关于全屏设置和隐藏状态栏、沉浸式状态栏的总结1.全屏和推出全屏实现全屏getWindow().setFlags(youtParams.FLAG_FULLSCREEN,youtParams.FLAG_FULLSCREEN);有⼀个View.setLayoutparams的⽅法,注意这个LayoutParams跟的不是⾃⾝的LayoutParams⽽是⽗容器的layoutParams退出全屏final youtParams attrs = getWindow().getAttributes();attrs.flags &= (~youtParams.FLAG_FULLSCREEN);getWindow().setAttributes(attrs);getWindow().clearFlags(youtParams.FLAG_LAYOUT_NO_LIMITS);2.隐藏状态栏getWindow().getDecorView().setSystemUiVisibility(View.INVISIBLE);参数:View.SYSTEM_UI_FLAG_VISIBLE:显⽰状态栏,Activity不全屏显⽰(恢复到有状态的正常情况)。
Android开发之Activity全透明渐变切换⽅法Activity全透明渐变切换类似于Dialog的显⽰动画效果⼀样1. 先设置Acitivity为去透明,在取消掉Activity默认的切换动画<style name="AppTheme2" parent="Theme.AppCompat.Light"><!-- Customize your theme here. --><item name="windowNoTitle">true</item><item name="colorPrimary">@color/colorPrimary</item><item name="colorPrimaryDark">@color/tabbackground</item><item name="colorAccent">@color/colorAccent</item> <item name="android:windowBackground">@color/transparent</item>//这个之时全透明<item name="android:windowIsTranslucent">true</item><item name="android:windowAnimationStyle">@style/activityanimation</item></style><style name="activityanimation" ><item name="android:activityOpenEnterAnimation">@null</item><item name="android:activityOpenExitAnimation">@null</item><item name="android:activityCloseEnterAnimation">@null</item><item name="android:activityCloseExitAnimation">@null</item></style>2. 设置渐变动画:<?xml version="1.0" encoding="utf-8"?><RelativeLayoutxmlns:android="/apk/res/android"android:id="@+id/ll"android:orientation="vertical"android:layout_width="match_parent"android:background="#000"android:layout_height="match_parent"><MyImageViewandroid:layout_width="match_parent"android:layout_height="300dp"android:layout_centerInParent="true"android:clickable="true"android:background="@mipmap/meinv"/></RelativeLayout>public class Activitytwo extends AppCompatActivity{private int tran=0x00000000;private int end=0x88000000;private RelativeLayout ll;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);getWindow().setFlags(youtParams.FLAG_FULLSCREEN, youtParams.FLAG_FULLSCREEN); setContentView(yout.ativity);ll = (RelativeLayout) findViewById(R.id.ll);returnposition();ll.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {finish();}});}public void returnposition(){ValueAnimator colorAnim = ObjectAnimator.ofInt(ll, "backgroundColor", tran, end);colorAnim.setDuration(300);colorAnim.setEvaluator(new ArgbEvaluator());colorAnim.start();}@Overridepublic void finish() {ValueAnimator colorAnim = ObjectAnimator.ofInt(ll, "backgroundColor", end, tran);colorAnim.setDuration(300);colorAnim.setEvaluator(new ArgbEvaluator());colorAnim.start();super.finish();}}以上这篇Android开发之Activity全透明渐变切换⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
自定义dialogfragment圆角-概述说明以及解释1.引言1.1 概述在撰写本文时,我们将重点讨论如何自定义DialogFragment并给它添加圆角效果。
Dialog是Android开发中常用的弹窗组件,DialogFragment则是Dialog的一个特殊子类,它能够在保持与活动(Activity)生命周期关联的同时,提供更灵活、可重用的功能。
随着应用程序设计越来越强调美观性和用户体验,圆角效果作为一种常见的设计元素,被广泛应用于弹窗组件中。
然而,在默认情况下,DialogFragment并不支持直接设置圆角效果,因此我们需要自定义DialogFragment来实现这一目标。
本文将首先介绍自定义DialogFragment的基本概念和用法,包括如何创建和显示一个自定义的对话框。
然后,我们将重点讨论如何给DialogFragment添加圆角效果。
我们将探讨一些实现圆角效果的方法和技巧,包括通过修改背景样式、使用ShapeDrawable、设置圆角边框等等。
通过对这些方法的详细讲解和示例演示,我们将帮助读者更好地理解如何在自定义DialogFragment中实现圆角效果。
同时,这些方法和技巧也可以应用于其他自定义视图或组件。
本文的目的是帮助读者掌握自定义DialogFragment和圆角效果的实现,从而提升应用程序的用户界面设计。
希望读者通过本文的学习,能够在实际项目中灵活运用这些技术,打造出更加美观和具有良好用户体验的应用程序。
1.2 文章结构本文将围绕自定义DialogFragment的主题展开,主要介绍了如何实现DialogFragment的圆角效果。
文章结构如下:2.1 自定义DialogFragment- 介绍DialogFragment的定义和特点- 讲解为什么需要自定义DialogFragment- 分析自定义DialogFragment的步骤和流程2.2 圆角效果的实现- 分析DialogFragment圆角效果的需求和实现思路- 探讨使用圆角Drawable资源的方法- 介绍如何在xml中定义圆角DialogFragment布局- 分析在代码中实现圆角效果的具体步骤- 提供相关代码示例和详细说明3.结论3.1 总结- 总结自定义DialogFragment和圆角效果的重要性和优势- 总结自定义DialogFragment的实现方法和注意事项- 总结圆角效果的实现步骤和要点3.2 展望- 展望自定义DialogFragment的未来发展趋势- 讨论更多关于DialogFragment的扩展和应用- 探讨更多元素和样式的自定义方法通过以上文章结构的安排,读者可以系统地了解自定义DialogFragment的相关概念、介绍了解圆角效果的原理和实现方法。
安卓手机页面设置方法在安卓手机上,页面设置是指调整屏幕显示的内容和布局,以便更好地适应用户的需求和喜好。
以下是一些常见的安卓手机页面设置方法。
一、壁纸设置1. 找到手机的“设置”应用,一般在应用列表中或者在快捷设置菜单中。
2. 在“设置”中找到“壁纸”选项。
3. 点击“壁纸”,选择“主屏幕”或者“锁定屏幕”。
4. 在壁纸库中选择您喜欢的图片或者从相册中选择图片。
5. 调整壁纸的位置和缩放方式,然后保存设置即可。
二、字体大小调整1. 找到手机的“设置”应用。
2. 在“设置”中找到“显示”或者“屏幕显示”选项。
3. 点击“显示”或者“屏幕显示”,找到“字体大小”选项。
4. 在字体大小选项中,选择适合您的字体大小,或者点击“自定义”调整字体大小。
5. 保存设置并退出。
三、图标布局调整1. 长按主屏幕上的空白区域,进入主屏幕设置界面。
2. 点击“桌面布局”或者“图标布局”选项。
3. 在布局选项中,选择您想要的图标尺寸和行列数。
4. 拖动图标到新的位置,或者删除不需要的图标。
5. 保存设置并退出。
四、通知栏和快捷设置定制1. 下拉通知栏,并点击右上角的“设置”图标。
2. 在设置菜单中,找到“通知和状态栏”或者“快捷设置”选项。
3. 点击“通知和状态栏”或者“快捷设置”,进入设置界面。
4. 可以根据需要进行以下操作:- 调整通知栏样式:选择是否显示通知图标和通知内容等。
- 设置快捷开关:选择要显示的快捷开关,并调整排序和显示方式。
- 隐藏特定通知:选择哪些应用的通知显示在通知栏上。
- 调整状态栏图标:可以隐藏或显示特定的状态栏图标。
- 其他定制选项:可以根据需要设置铃声、震动等通知方式。
5. 保存设置并退出。
五、屏幕显示分辨率调整1. 找到手机的“设置”应用。
2. 在“设置”中找到“显示”或者“屏幕显示”选项。
3. 点击“显示”或者“屏幕显示”,找到“分辨率”选项。
4. 在分辨率选项中,选择您想要的屏幕分辨率。
Android开发⾃定义Dialog(BottomSheetDialog与Dialog)开发记录前⾔ 记录⼀些⾃⼰项⽬上⾃定义的Dialog基础Dialogpublic class BaseDialog extends Dialog {private float widthRatio = 1f;private ShapeDrawable mShapeDrawable;public BaseDialog(@NonNull Context context) {super(context);}public BaseDialog(@NonNull Context context, int themeResId) {super(context, themeResId);}protected BaseDialog(@NonNull Context context, boolean cancelable, @Nullable OnCancelListener cancelListener) {super(context, cancelable, cancelListener);}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}/*** 设置对话框宽度与屏幕宽度占⽐ 0.0~1.0** @param widthRatio*/public void setWidthRatio(float widthRatio) {this.widthRatio = widthRatio;}@Overrideprotected void onStart() {super.onStart();youtParams layoutParams = getWindow().getAttributes();float width = getContext().getResources().getDisplayMetrics().widthPixels * widthRatio;layoutParams.width = (int) width;getWindow().setAttributes(layoutParams);getWindow().getDecorView().setBackground(new ColorDrawable(Color.TRANSPARENT));}}实现对话框全透明在styles添加<style name="dialogTransparent" parent="@android:style/Theme.Dialog"><item name="android:windowFrame">@null</item><!--边框--><item name="android:windowIsFloating">true</item><!--是否浮现在activity之上--><item name="android:windowIsTranslucent">true</item><!--半透明--><item name="android:windowNoTitle">true</item><!--⽆标题--><item name="android:background">@android:color/transparent</item><!--背景透明--><item name="android:windowBackground">@android:color/transparent</item><!--背景透明--><item name="android:backgroundDimEnabled">true</item><!--模糊--><item name="android:backgroundDimAmount">0.5</item><!--背景透明度0到1 50%就是0.5--></style>将风格添加public class NumberInputDialog extends BottomSheetDialog implements View.OnClickListener {public NumberInputDialog(@NonNull Context context) {super(context,R.style.dialogTransparent);initView();}设置背景透明@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);getWindow().getDecorView().setBackground(new ColorDrawable(Color.TRANSPARENT));}设置全屏请注意,在开发的时候经常会发现,我们设置的全屏的宽度或者全屏的⾼度后经常外⾯还要⼀些边缘空⽩空间,需要设置setPadding来取消空⽩内边距,代码如下:@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);getWindow().getDecorView().setPadding(0,0,0,0);//取消内边距空⽩getWindow().setLayout(youtParams.MATCH_PARENT, youtParams.MATCH_PARENT);//设置全屏}或者@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);getWindow().getDecorView().setPadding(0,0,0,0);//取消内边距空⽩youtParams layoutParams = getWindow().getAttributes();layoutParams.width = youtParams.MATCH_PARENT;layoutParams.height = youtParams.MATCH_PARENT;getWindow().setAttributes(layoutParams);}在取消内边距空⽩后,还有⼀个好处,那就是设置 layoutParams.width 与layoutParams.height 会更加准确设置对话框显⽰位置@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//设置显⽰位置 Gravity.BOTTOM Gravity.TOP Gravity.LEFT Gravity.RIGHT Gravity.CENTERgetWindow().setGravity(Gravity.BOTTOM);}弹出输⼊法并且焦点选中输⼊框EditText editTextTextPersonName = findViewById(R.id.editTextTextPersonName);getWindow().setSoftInputMode(youtParams.SOFT_INPUT_STATE_VISIBLE);//设置输⼊盘可见editTextTextPersonName.requestFocus();设置背景阴影透明度@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);youtParams layoutParams = getWindow().getAttributes();layoutParams.dimAmount = 0f;//调整透明度getWindow().setAttributes(layoutParams);}BottomSheetDialog禁⽤下滑退出private fun showDurationPickerDialog(){val dialog = context?.let { BottomSheetDialog(it) }val binding = DialogDurationPickerBinding.inflate(layoutInflater)dialog?.setContentView(binding.root)binding.root.post {val view = dialog?.findViewById<View>(R.id.design_bottom_sheet)val behavior = view?.let { BottomSheetBehavior.from(it) }behavior?.isHideable = false//略...BottomSheetDialog背景透明(显⽰圆⾓) BottomSheetDialog对话框其实是⾃带⼀个⽩⾊背景的,我们在⾃⼰的布局设置圆⾓shape后会出现不显⽰的情况. val dialog = BottomSheetDialog(this)dialog.setContentView(yout.main_dialog_bottom_wheel)dialog.show()//设置背景透明,需要在show⽅法后⾯dialog.findViewById<View>(R.id.design_bottom_sheet)?.setBackgroundResource(android.R.color.transparent)横屏显⽰不全的问题解决@Overrideprotected void onStart() {super.onStart();if (mIsHorizontal){getBehavior().setState(BottomSheetBehavior.STATE_EXPANDED);}}end。
android8种对话框(Dialog)使用方法汇总Android中提供了多种对话框(Dialog)用于与用户进行交互。
下面将介绍Android中的8种常用对话框及其使用方法。
1. AlertDialog对话框:AlertDialog对话框是Android中最常用的对话框之一、它可以显示一个带有标题、消息和按钮的对话框。
使用AlertDialog.Builder类创建AlertDialog对象并设置相关属性,如标题、消息、按钮等。
然后调用show(方法显示对话框。
2. ProgressDialog对话框:ProgressDialog对话框用于显示一个进度条,通常用于表示长时间运行的任务的进度。
使用ProgressDialog类创建ProgressDialog对象,并使用setProgressStyle(方法设置进度条的样式,然后使用show(方法显示对话框。
可以通过调用setProgress(方法来更新进度条的进度。
3. DatePickerDialog日期选择对话框:DatePickerDialog对话框用于选择日期。
使用DatePickerDialog类创建DatePickerDialog对象,并使用setDate(方法设置初始日期。
然后使用show(方法显示对话框。
可以通过实现OnDateSetListener接口来监听用户选择的日期。
4. TimePickerDialog时间选择对话框:TimePickerDialog对话框用于选择时间。
使用TimePickerDialog类创建TimePickerDialog对象,并使用setTime(方法设置初始时间。
然后使用show(方法显示对话框。
可以通过实现OnTimeSetListener接口来监听用户选择的时间。
5. AlertDialog单选对话框:AlertDialog单选对话框用于让用户从多个选项中选择一个选项。
使用AlertDialog.Builder类创建AlertDialog对象,并使用setSingleChoiceItems(方法设置选项列表。
android dialogx用法Android DialogX是一个功能强大且易于使用的Android对话框库。
它以其灵活性和易于定制的特点而受到开发者的欢迎,并提供了多种对话框样式和交互选项。
本文将逐步回答关于Android DialogX的用法,帮助大家更好地理解和使用这个库。
第一步:引入DialogX库和配置Gradle依赖使用DialogX之前,我们首先需要在项目的build.gradle文件中配置以下依赖:gradledependencies {implementation 'com.kongzue.dialogx:dialogx-core:1.0.0'implementation 'com.kongzue.dialogx:dialogx-ui:1.0.0'}完成以上操作后,我们就可以开始使用DialogX了。
第二步:创建一个基本的对话框我们可以使用DialogX创建多种类型的对话框。
首先,我们可以通过调用DialogX类的`show`方法来显示对话框。
下面是一个示例代码,创建一个基本的对话框:javaDialogX.dialog(MainActivity.this).setTitle("提示").setMessage("这是一个对话框").setPositiveButton("确定", new DialogX.OnClickListener() { @Overridepublic void onClick(Dialog dialog) {处理确定按钮点击事件}}).setNegativeButton("取消", null).show();在上面的代码中,我们通过`dialog`方法创建一个对话框实例,设置标题和消息,并为确定按钮和取消按钮添加了点击事件处理逻辑。
第三步:创建其他类型的对话框DialogX不仅支持基本的对话框样式,还提供了其他各种类型的对话框。
Android ROM美化教程,透明等反编译修改的方法透明下拉栏1.提取你的systemui.apk,反编2.找到\res\layout\status_bar_tracking.xml文件,搜索“View android:background”,将其等号后面改成"@drawable/status_bar_background"3.回编systemui.apk4.将新apk中的status_bar_tracking.xml文件替换到老apk中这样,你的下拉栏就变成了status_bar_background.png这张图片了,修改一张透明的status_bar_background.png扔进systemui.apk中替换原文件就好了。
在用压缩方式打开替换好的APK、直接把res拖到桌面,打开drawable-hdpi,quickpanel_quick_settings_background.png这个和quickpanel_title_background.9.png这个还有title_bar_portrait.9.png这个要改成透明或半透明都可以不一定名称都一样但是方法都一样,你们进去了就知道 statusbar_background.9.png这个是状态栏直接该透明就OK记得你改的图片大小要一样{重要}透明状态栏2.3.6看其他无视同样是修改systemui.apk。
1.反编后找到smali\com\android\systemui\statusbar\StatusBarService.smali文件2.找到new-instance v0, Landroid/view/WindowManager$LayoutParams;const/4 v1, -0x1const/16 v3, 0x7d0const/16 v4, 0x48const/4 v5, 0x2修改为new-instance v0, Landroid/view/WindowManager$LayoutParams;const/4 v1, -0x1const/16 v3, 0x7d0const/16 v4, 0x48const/4 v5, -0x33.回编4.替换classes.dex5.修改一张statusbar_background.9.png图片,处理成半透明,替换效果图全局背景教程提取完后打开“framework-res.apk\res\values\在用笔记本打开styles.xml文件按“Ctrl+F”打开查找,在“找内容”查上写入<item name="windowBackground">@drawable/screen_background_dark</item>把找到的那句改成下面这句<item name="windowBackground">@drawable/wjj_qjbg</item>继续查找<style name="Widget.ListView" parent="@style/Widget.AbsListView">得到下面这段<style name="Widget.ListView" parent="@style/Widget.AbsListView"><item name="listSelector">@drawable/list_selector_background</item><item name="cacheColorHint">?colorBackgroundCacheHint</item> ----这句<item name="divider">@drawable/divider_horizontal_dark_opaque</item></style>将上面那句<item name="cacheColorHint">?colorBackgroundCacheHint</item>换成<item name="cacheColorHint">@color/transparent</item>第三步:把一张480*800的图片命名为:“wjj_qjbg”记得是PNG格式不然就悲催了放入framework-res.apk\res\drawable-hdpi然后封包接下来就要用压缩方式打开之前没改过的framework-res.apk。
android:设置背景图片、背景颜色透明2012-03-15 16:51:09|分类: android UI |标签: |字号大中小订阅Button或者ImageButton的背景设为透明或者半透明半透明<Button android:background="#e0000000" ... /> 透明<Button android:background="#00000000" ... />颜色和不透明度 (alpha) 值以十六进制表示法表示。
任何一种颜色的值范围都是 0 到 255(00 到 ff)。
对于alpha,00 表示完全透明,ff 表示完全不透明。
表达式顺序是“aabbggrr”,其中“aa=alpha”(00 到 ff);“bb=blue”(00 到 ff);“gg=green”(00 到 ff);“rr=red”(00 到 ff)。
例如,如果您希望对某叠加层应用不透明度为 50% 的蓝色,则应指定以下值:7fff0000 RGB设置背景图片透明度:View v = findViewById(R.id.content);//找到你要设透明背景的layout 的idv.getBackground().setAlpha(100);//0~255透明度值设置背景颜色透明度:ImageView.setBackgroundColor(Color.TRANSPARENT);android设置背景色为透明方法一:只要在配置文件内activity属性配置内加上android:theme=@android:style/Theme.Translucent 就好了。
这样就调用了android的透明样式!方法二:先在res/values下建colors.xml文件,写入:<?xmlversionxmlversion="1.0"encoding="UTF-8"?><resources><colornamecolorname="transparent">#9000</color></resources>这个值设定了整个界面的透明度,为了看得见效果,现在设为透明度为56%(9/16)左右。
android:UI设置透明以及Theme使用方法一、android:UI 设置透明的Activity三个步骤来:1 创建颜色文件:/res/values/colors.xml,加入如下代码<?xml version="1.0" encoding="utf-8"?><resources><color name="transparent">#9000</color></resources>2 创建style文件:/res/values/styles.xml,加入如下代码:<?xml version="1.0" encoding="utf-8"?><resources><style name="translucent"><itemname="android:windowBackground">@color/transparent</ite m><item name="android:windowIsTranslucent">true</item> <itemname="android:windowAnimationStyle">@+android:style/Ani mation.Translucent</item></style></resources>3 在AndroidManirest.xml中加入使用Theme,如下:<activity android:name=".MainMenu" android:theme="@style/translucent"android:label="@string/app_name"></activity>通常:以上三步都实现就可以实现透明的效果了。
解决Android中⾃定义DialogFragment解决宽度和⾼度问题关于详解,⼤家可以参考下。
1、概述DialogFragment在android 3.0时被引⼊。
是⼀种特殊的Fragment,⽤于在Activity的内容之上展⽰⼀个模态的对话框。
典型的⽤于:展⽰警告框,输⼊框,确认框等等。
在DialogFragment产⽣之前,我们创建对话框:⼀般采⽤AlertDialog和Dialog。
注:官⽅不推荐直接使⽤Dialog创建对话框。
2、好处与⽤法使⽤DialogFragment来管理对话框,当旋转屏幕和按下后退键时可以更好的管理其声明周期,它和Fragment有着基本⼀致的声明周期。
且DialogFragment也允许开发者把Dialog作为内嵌的组件进⾏重⽤,类似Fragment(可以在⼤屏幕和⼩屏幕显⽰出不同的效果)。
上⾯会通过例⼦展⽰这些好处~使⽤DialogFragment⾄少需要实现onCreateView或者onCreateDIalog⽅法。
onCreateView即使⽤定义的xml布局⽂件展⽰Dialog。
onCreateDialog即利⽤AlertDialog或者Dialog创建出Dialog。
下⾯通过⽰例代码给⼤家介绍下Android中⾃定义DialogFragment解决宽度和⾼度问题Android中⾃定义DialogFragment解决宽度和⾼度问题但是我们很多时候想把DialogFragment的⾼度固定,那么我们需要设置DialogFragment的⾼度,在Fragment的onResume()声明周期⽅法中设置window的宽⾼即可。
@Overridepublic void onResume() {super.onResume();getDialog().getWindow().setLayout(DeviceUtil.getDeviceWidth(), ResUtils.dp2px(295));}设置DialogFrament 从底部弹出,并且弹出动画为向上滑出,消失动画为向下滑出youtParams params = getDialog().getWindow().getAttributes();params.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL;params.windowAnimations = R.style.bottomSheet_animation;getDialog().getWindow().setAttributes(params);完整的代码如下:@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {youtParams params = getDialog().getWindow().getAttributes();params.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL;params.windowAnimations = R.style.bottomSheet_animation;getDialog().getWindow().setAttributes(params);getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);getDialog().setCanceledOnTouchOutside(true);getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));mContentView = inflater.inflate(yout.fragment_create_quick, container, false);return mContentView;}@Overridepublic void onResume() {super.onResume();getDialog().getWindow().setLayout(DeviceUtil.getDeviceWidth(), HlyUtils.dp2px(380));}<style name="bottomSheet_animation" parent="@android:style/Animation"><item name="android:windowEnterAnimation">@anim/slide_in_bottom</item><item name="android:windowExitAnimation">@anim/slide_out_bottom</item></style><?xml version="1.0" encoding="utf-8"?><set xmlns:android="/apk/res/android"android:shareInterpolator="false"><translateandroid:duration="300"android:fromYDelta="100.0%p"android:toYDelta="0.0" /></set><?xml version="1.0" encoding="utf-8"?><set xmlns:android="/apk/res/android"android:shareInterpolator="false"><translateandroid:duration="300"android:fromYDelta="0%p"android:toYDelta="100%p" /></set>总结以上所述是⼩编给⼤家介绍的解决Android中⾃定义DialogFragment解决宽度和⾼度问题,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
Android右滑退出+沉浸式(透明)状态栏先上效果图:右滑退出+沉浸式(透明)状态栏效果.gif一、添加 SwipeBackLayoutcompile 'me.imid.swipebacklayout.lib:library:1.0.0'step1:BaseActivity新建一个继承SwipeBackActivity的BaseActivity类,SwipeBackActivity 的代码请看SwipeBackLayout库源码,在onCreate方法内添加如下两行代码。
所有继承BaseActivity的页面都能具有滑动效果了。
但比如登录页和主页面等部分不需要右滑效果的Activity可以通过setSwipeBackEnable(false)方法禁用右滑效果。
mSwipeBackLayout = getSwipeBackLayout();// 设置滑动方向,可设置EDGE_LEFT, EDGE_RIGHT, EDGE_ALL,EDGE_BOTTOM mSwipeBackLayout.setEdgeTrackingEnabled(SwipeBackLayout.EDGE_LEFT);step2:设置theme在style.xml文件中添加以下代码<!-- 设置右滑主题 --><style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar"> <itemname="android:windowAnimationStyle">@style/HoloThemeActivityAnimation </item><!-- 设置背景透明,右滑时才能看到上一个界面,否则会看到黑屏效果-->,<item name="android:windowIsTranslucent">true</item></style><!--Activity退出动画--><stylename="HoloThemeActivityAnimation"parent="@android:style/Animation.Activity"><itemname="android:activityOpenEnterAnimation">@anim/activity_open_enter</ item><itemname="android:activityOpenExitAnimation">@anim/activity_open_exit</it em><itemname="android:activityCloseEnterAnimation">@anim/activity_close_enter </item><itemname="android:activityCloseExitAnimation">@anim/activity_close_exit</ item></style><!--主界面单独设置以下主题,不透明,否则右滑不是显示上一个页面而是直接显示桌面了~--><style name="AppThemeNoTranslucent" parent="Theme.AppCompat.DayNight.NoActionBar"><item name="android:windowNoTitle">true</item><item name="android:windowIsTranslucent">false</item></style>step3:AndroidManifest在AndroidManifest文件中 application节点设置全局主题android:theme="@style/AppTheme"。
android实现下拉框(spinner),⾃⼰定义⼤⼩颜⾊背景位置,去掉默认样式⿊边1. 实现最简单的spinnerxml⽂件,有⼀个TextView,⼀个Spinner:<RelativeLayout xmlns:android="/apk/res/android"xmlns:tools="/tools" android:layout_width="match_parent"android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"><TextView android:text="@string/hello_world" android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/textView" /><Spinnerandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/spinner"android:layout_below="@+id/textView"android:layout_alignParentLeft="true"android:layout_alignParentStart="true"android:layout_marginTop="50dp" /></RelativeLayout>.java⽂件public class MainActivity extends ActionBarActivity {private static final String[] name={"刘备","关⽻","张飞","曹操","⼩乔"};private TextView text ;private Spinner spinner;private ArrayAdapter<String> adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);text = (TextView) findViewById(R.id.textView);spinner = (Spinner) findViewById(R.id.spinner);//将可选内容与ArrayAdapter连接起来,simple_spinner_item是android系统⾃带样式adapter = new ArrayAdapter<String>(this,yout.simple_spinner_item,name);//设置下拉列表的风格,simple_spinner_dropdown_item是android系统⾃带的样式,等会⾃⼰定义改动adapter.setDropDownViewResource(yout.simple_spinner_dropdown_item);//将adapter 加⼊到spinner中spinner.setAdapter(adapter);//加⼊事件Spinner事件监听spinner.setOnItemSelectedListener(new SpinnerSelectedListener());}//使⽤数组形式操作class SpinnerSelectedListener implements AdapterView.OnItemSelectedListener {public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3) {text.setText("我的名字是:"+name[arg2]);}public void onNothingSelected(AdapterView<?> arg0) {}}执⾏效果:—————————————————————使⽤xml⽂件作为数据源创建adapter:<?xml version="1.0" encoding="utf-8"?><resources><string-array name="songs"><item>没有⼈</item><item>我的快乐时代</item><item>黄⾦时代</item><item>习惯失恋</item><item>你来⾃哪颗星</item></string-array></resources>.java⽂件:public class SpinnerActivity extends Activity {private TextView text;private Spinner spinner;private ArrayAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(yout.spinner);spinner = (Spinner) findViewById(R.id.spinner);text = (TextView) findViewById(R.id.textView);//将可选内容与ArrayAdapter连接起来adapter = ArrayAdapter.createFromResource(this, R.array.songs, yout.simple_spinner_item); //设置下拉列表的风格adapter.setDropDownViewResource(yout.simple_spinner_dropdown_item);//将adapter2 加⼊到spinner中spinner.setAdapter(adapter);//加⼊事件Spinner事件监听spinner.setOnItemSelectedListener(new SpinnerXMLSelectedListener());}//使⽤XML形式操作class SpinnerXMLSelectedListener implements OnItemSelectedListener{public void onItemSelected(AdapterView<?> arg0, View arg1, int position,long arg3) {text.setText("你使⽤什么样的⼿机:"+adapter.getItem(position));}public void onNothingSelected(AdapterView<?> arg0) {}}}spinner有三个属性能够记⼀下:android:spinnerMode="dropdown"android:dropDownVerticalOffset="-50dp"android:dropDownHorizontalOffset="20dp"android:popupBackground="#f0000000"spinnerMode=dropdown时,为下拉模式spinnerMode=dialog时,会在界⾯中间弹出android:popupBackground=”#f0000000”,能够去除spinner的默认⿊边dropDownVerticalOffset和dropDownHorizontalOffset都是改变下拉框位置的2.⾃⼰定义spinner样式改变字体颜⾊、⼤⼩和背景:新建⼀个xml布局⽂件,命名为spinner_item.xml:<?xml version="1.0" encoding="utf-8"?><TextViewxmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:paddingRight="5dp"android:textColor="#f77718"android:gravity="left"android:textSize="15sp"android:padding="10dp"android:singleLine="true"android:text="New Text"android:id="@+id/textView32" />再创建⼀个下拉框样式布局的xml⽂件。
android⾃定义Dialog弹框和背景阴影显⽰效果本⽂实例为⼤家分享了android⾃定义Dialog弹框和背景阴影显⽰的具体代码,供⼤家参考,具体内容如下⾸先需要⾃定义⼀个类,继承Dialogimport android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.view.WindowManager;import android.widget.Button;import android.widget.TextView;import com.zhiziyun.dmptest.bot.R;/*** Created by Administrator on 2018/1/31.*/public class CustomDialog extends Dialog {private Button yes, no;//确定按钮private TextView titleTv;//消息标题⽂本private TextView messageTv;//消息提⽰⽂本private String titleStr;//从外界设置的title⽂本private String messageStr;//从外界设置的消息⽂本//确定⽂本和取消⽂本的显⽰内容private String yesStr, noStr;private onNoOnclickListener noOnclickListener;//取消按钮被点击了的监听器private onYesOnclickListener yesOnclickListener;//确定按钮被点击了的监听器/*** 设置取消按钮的显⽰内容和监听** @param str* @param onNoOnclickListener*/public void setNoOnclickListener(String str, onNoOnclickListener onNoOnclickListener) {if (str != null) {noStr = str;}this.noOnclickListener = onNoOnclickListener;}/*** 设置确定按钮的显⽰内容和监听** @param str* @param onYesOnclickListener*/public void setYesOnclickListener(String str, onYesOnclickListener onYesOnclickListener) { if (str != null) {yesStr = str;}this.yesOnclickListener = onYesOnclickListener;}public CustomDialog(Context context) {super(context, R.style.Dialog_Msg);}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.dialog_custom);//按空⽩处不能取消动画setCanceledOnTouchOutside(false);//初始化界⾯控件initView();//初始化界⾯数据initData();//初始化界⾯控件的事件initEvent();}/*** 初始化界⾯的确定和取消监听器*/private void initEvent() {//设置确定按钮被点击后,向外界提供监听yes.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (yesOnclickListener != null) {yesOnclickListener.onYesClick();}}});no.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (noOnclickListener != null) {noOnclickListener.onNoClick();}}});}/*** 初始化界⾯控件的显⽰数据*/private void initData() {//如果⽤户⾃定了title和messageif (titleStr != null) {titleTv.setText(titleStr);}if (messageStr != null) {messageTv.setText(messageStr);}//如果设置按钮的⽂字if (yesStr != null) {yes.setText(yesStr);}}/*** 初始化界⾯控件*/private void initView() {yes = (Button) findViewById(R.id.yes);no = (Button) findViewById(R.id.no);titleTv = (TextView) findViewById(R.id.title);messageTv = (TextView) findViewById(R.id.message);}/*** 从外界Activity为Dialog设置标题** @param title*/public void setTitle(String title) {titleStr = title;}/*** 从外界Activity为Dialog设置dialog的message** @param message*/public void setMessage(String message) {messageStr = message;}/*** 设置确定按钮和取消被点击的接⼝*/public interface onYesOnclickListener {public void onYesClick();}public interface onNoOnclickListener {public void onNoClick();}@Overridepublic void show() {super.show();/*** 设置宽度全屏,要设置在show的后⾯*/youtParams layoutParams = getWindow().getAttributes();layoutParams.width= youtParams.MATCH_PARENT;layoutParams.height= youtParams.MATCH_PARENT;getWindow().getDecorView().setPadding(0, 0, 0, 0);getWindow().setAttributes(layoutParams);}}这是实体类中的style:<style name="custom_dialog_style" parent="android:Theme.Dialog"><item name="android:windowFrame">@null</item><item name="android:windowIsFloating">true</item><item name="android:windowIsTranslucent">false</item><item name="android:windowNoTitle">true</item><!--除去title--><item name="android:backgroundDimEnabled">true</item><!--半透明--><item name="android:windowBackground">@color/transparent</item><!--除去背景⾊--> <item name="android:radius">10dp</item></style>其中@color/transparent是⼀个透明⾊<color name="transparent">#00000000</color>然后是布局<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#A5000000"><LinearLayoutandroid:layout_width="260dp"android:layout_height="wrap_content"android:layout_centerInParent="true"android:background="@drawable/shape_dialog_msg"android:orientation="vertical"><TextViewandroid:id="@+id/title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_margin="15dp"android:gravity="center"android:text="消息提⽰"android:textColor="@color/colorBlack"android:textSize="@dimen/title_text_size" /><TextViewandroid:id="@+id/message"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_marginLeft="@dimen/padding_left_right4"android:layout_marginRight="@dimen/padding_left_right4"android:text="提⽰消息"android:textColor="@color/colorBlack"android:textSize="@dimen/textsizi3" /><Viewandroid:layout_width="match_parent"android:layout_height="1px"android:layout_marginTop="15dp"android:background="#E4E4E4" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="@dimen/buttom_height"android:orientation="horizontal"><Buttonandroid:id="@+id/no"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@null"android:gravity="center"android:singleLine="true"android:text="取消"android:textColor="@color/blue"android:textSize="@dimen/textsizi3" /><Buttonandroid:id="@+id/yes"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:background="@null"android:gravity="center"android:singleLine="true"android:text="确定"android:textColor="@color/red"android:textSize="@dimen/textsizi3" /></LinearLayout></LinearLayout></RelativeLayout>下⾯是shape_dialog_msg的代码<?xml version="1.0" encoding="UTF-8"?><selector xmlns:android="/apk/res/android"> <item android:state_pressed="false"><shape android:shape="rectangle" ><!-- 填充的颜⾊前两位是透明度--><solid android:color="#f7f6f6"></solid><!-- 设置按钮的四个⾓为弧形 --><!-- android:radius 弧形的半径 --><corners android:radius="8dip" /><!-- padding:Button⾥⾯的⽂字与Button边界的间隔 --><padding android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp" /></shape></item></selector>准备⼯作都做好了,下⾯就是如何使⽤了//点击弹出对话框final CustomDialog customDialog = new CustomDialog(getActivity());customDialog.setTitle("消息提⽰");customDialog.setMessage("是否暂停⼴告投放?");customDialog.setYesOnclickListener("确定", new CustomDialog.onYesOnclickListener() {@Overridepublic void onYesClick() {//这⾥是确定的逻辑代码,别忘了点击确定后关闭对话框customDialog.dismiss();}});customDialog.setNoOnclickListener("取消", new CustomDialog.onNoOnclickListener() {@Overridepublic void onNoClick() {customDialog.dismiss();}});customDialog.show();以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
Android开发实现按钮点击切换背景并修改⽂字颜⾊的⽅法本⽂实例讲述了Android开发实现按钮点击切换背景并修改⽂字颜⾊的⽅法。
分享给⼤家供⼤家参考,具体如下:其实原理很简单,⽤到的是selector,⽤来设置android:background和android:textcolor属性,selector可以⽤来设置默认时候、点击时候的背景图⽚和⽂字颜⾊的属性,过程如下:这两个⽂件如下:1.当点击按钮,改变⽂字的颜⾊:<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="/apk/res/android"><item android:state_focused="false" android:state_enabled="true" android:state_pressed="false"android:color="#000000" /><item android:state_enabled="false" android:color="#000000" /><item android:state_pressed="true" android:color="#ffffff" /><item android:state_focused="true" android:color="#000000" /></selector>2.当点击按钮,改变按钮的背景:<?xml version="1.0" encoding="utf-8"?><selector xmlns:Android="/apk/res/android"><!-- 定义按钮按下时的图⽚ --><item Android:drawable="@drawable/blue" Android:state_pressed="true"/><!-- 定义按钮默认的图⽚ --><item Android:drawable="@drawable/gray"/></selector>是不是很简单,不⽤再⽤java代码来进⾏设置,只需要设置到你所需要的Textview或者button,如下使⽤⽅式:<TextViewandroid:id="@+id/menu_logout"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_weight="1"android:background="@drawable/btnselector"android:drawableLeft="@drawable/menu_logout"android:drawablePadding="10dp"android:gravity="center_vertical"android:text="@string/logout"android:textColor="@drawable/btnselectorcolor"android:textSize="@dimen/Menu_Font_Size" />成功完成更多关于Android相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》希望本⽂所述对⼤家Android程序设计有所帮助。
android 自定义Dialog背景透明及显示位置设置
代码如下:
1、自定义Dialog
public class SelectDialog extends AlertDialog{
public SelectDialog(Context context, int theme) {
super(context, theme);
}
public SelectDialog(Context context) {
super(context);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(yout.slt_cnt_type);
}
}
2、布局文件slt_cnt_type.xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="/apk/res/android"
android:orientation="vertical"
android:padding="10dp" android:layout_width="115dp" android:layout_height="wrap_content" android:background="@col or/blue">
<Button android:layout_height="wrap_content" android:background="#00000000" android:layout_width="fill_parent " android:text="全部联系人" android:paddingTop="5dp" android:paddingBottom="5dp" android:paddingLeft="10dp" android:g ravity="left|center_vertical" android:id="@+id/btnSltCntAll"></Button>
<Button android:layout_height="wrap_content" android:background="#00000000" style="@drawable/greenhand_button " android:text="咕咚用户" android:gravity="left|center_vertical" android:paddingBottom="5dp" android:paddingTop="5dp " android:paddingLeft="10dp" android:paddingRight="10dp" android:layout_width="fill_parent" android:id="@+id/btnSlt GudongUser"></Button>
<Button style="@drawable/greenhand_button" android:background="#00000000" android:layout_height="wrap_content " android:layout_width="fill_parent" android:text="推荐用户" android:gravity="left|center_vertical" android:paddingT op="5dp" android:paddingBottom="5dp" android:paddingLeft="10dp" android:id="@+id/btnSltRecommend"></Button>
</LinearLayout>
3、颜色color.xml代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="transparent">#00000000</color>
</resources>
4、样式style.xml代码
<?xml version="1.0" encoding="utf-8"?>
<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>
4、显示Dialog
SelectDialog selectDialog = new SelectDialog(this,R.style.dialog);//创建Dialog并设置样式主题Window win = selectDialog.getWindow();
LayoutParams params = new LayoutParams();
params.x = -80;//设置x坐标
params.y = -60;//设置y坐标
win.setAttributes(params);
selectDialog.setCanceledOnTouchOutside(true);//设置点击Dialog外部任意区域关闭Dialog selectDialog.show();。