http://blog.csdn.net/xiaochun91103/article/details/6199370
在Android中可以直接使用Dialog实现提示窗口。也可以使用Activity来实现自定义的dialog。本文就是使用Activity来实现一个自定义的Dialog。
主类的实现如下:
-
packagecom.xiaochun91103;
-
-
importandroid.app.Activity;
-
importandroid.content.Intent;
-
importandroid.os.Bundle;
-
importandroid.view.View;
-
importandroid.view.View.OnClickListener;
-
importandroid.widget.Button;
-
-
publicclassCustomerDialogextendsActivity{
-
-
privateButtonbt;
-
@Override
-
publicvoidonCreate(BundlesavedInstanceState){
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.main);
-
-
bt=(Button)findViewById(R.id.bt);
-
bt.setOnClickListener(newOnClickListener(){
-
-
@Override
-
publicvoidonClick(Viewv){
-
-
Intentintent=newIntent(CustomerDialog.this,DialogActivity.class);
-
startActivity(intent);
-
}
-
});
-
}
-
}
布局如下,main.xml:
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
-
android:orientation="vertical"
-
android:layout_width="fill_parent"
-
android:layout_height="fill_parent"
-
>
-
<TextView
-
android:layout_width="fill_parent"
-
android:layout_height="wrap_content"
-
android:text="用于自定义一个Activity的主题来实现用户自定义Dialog"
-
/>
-
<Button
-
android:id="@+id/bt"
-
android:layout_width="wrap_content"
-
android:layout_height="wrap_content"
-
android:text="DialogTest"
-
/>
-
</LinearLayout>
Dialog类的实现如下:
-
packagecom.xiaochun91103;
-
-
importandroid.app.Activity;
-
importandroid.os.Bundle;
-
-
publicclassDialogActivityextendsActivity{
-
-
@Override
-
protectedvoidonCreate(BundlesavedInstanceState){
-
-
super.onCreate(savedInstanceState);
-
-
setContentView(R.layout.dialogactivity);
-
}
-
}
布局如下dialogactivity.xml:
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<TextViewxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/text"
-
android:layout_width="fill_parent"android:layout_height="fill_parent"
-
android:gravity="center_vertical|center_horizontal"
-
android:text="customeractivitylookslikeadialog.customerdialogtest!!!"
-
android:background="#992222"/>
最重要的一点,需要在AndroidManifest.xml下声明Activity的同时定义Activity的主题,这样才会出现Dialog的效果。
-
<activityandroid:name=".DialogActivity"
-
android:theme="@android:style/Theme.Dialog"></activity>
上个截图:
Custom
Dialog !自定义对话框
http://www.iteye.com/topic/504331
定义一个Activity的显示主题为Theme.Dialog,实现自定义对话框的样式。
一、定义一个主题样式 Theme.CustomDialog 实现个性化的对话框。
1、AndroidManifest.xml 文件中,申明 activity 的主题使用自定义对话框样式。
-
<activityandroid:name=".app.CustomDialogActivity"
-
android:label="@string/activity_custom_dialog"
-
android:theme="@style/Theme.CustomDialog">
-
<intent-filter>
-
<actionandroid:name="android.intent.action.MAIN"/>
-
<categoryandroid:name="android.intent.category.SAMPLE_CODE"/>
-
</intent-filter>
-
</activity>
2、res/values/styles.xml 样式文件中定义一个对话框主题样式,这里继承了 android:style/Theme.Dialog 主题,并且窗口样式 android:windowBackground 引用了 @drawable/filled_box
-
<stylename="Theme.CustomDialog"parent="android:style/Theme.Dialog">
-
<itemname="android:windowBackground">@drawable/filled_box</item>
-
</style>
3、res/drawable/filled_box.xml 定义了 Shape 类型的 drawable(抽象的可画区域),最终是通过这个来实现新对话框的样式。
-
<shapexmlns:android="http://schemas.android.com/apk/res/android">
-
<solidandroid:color="#f0600000"/>
-
<strokeandroid:width="3dp"color="#ffff8080"/>
-
<cornersandroid:radius="3dp"/>
-
<paddingandroid:left="10dp"android:top="10dp"
-
android:right="10dp"android:bottom="10dp"/>
-
</shape>
二、个性化Dialog小图标,主要代码如下:
@
-
Override
-
protectedvoidonCreate(BundlesavedInstanceState){
-
-
super.onCreate(savedInstanceState);
-
-
requestWindowFeature(Window.FEATURE_LEFT_ICON);
-
-
-
-
-
setContentView(R.layout.dialog_activity);
-
-
getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,
-
android.R.drawable.ic_dialog_alert);
-
}
1、申请设置个性化小图标,需在 setContentView(R.layout.dialog_activity) 之前调用。
-
requestWindowFeature(Window.FEATURE_LEFT_ICON);
2、设置小图标
-
getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,
-
android.R.drawable.ic_dialog_alert);
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
Activity半透明效果
http://blog.csdn.net/xiaochun91103/article/details/6228190
Android中实现前台Activity的半透明效果。
-
packagecom.xiaochun91103;
-
-
importandroid.app.Activity;
-
importandroid.content.Intent;
-
importandroid.os.Bundle;
-
importandroid.view.View;
-
importandroid.view.View.OnClickListener;
-
importandroid.widget.Button;
-
-
publicclassTranslucentTestextendsActivity{
-
-
privateButtonbt;
-
@Override
-
publicvoidonCreate(BundlesavedInstanceState){
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.main);
-
-
bt=(Button)findViewById(R.id.bt);
-
bt.setOnClickListener(newOnClickListener(){
-
-
@Override
-
publicvoidonClick(Viewv){
-
-
Intentintent=newIntent(TranslucentTest.this,show.class);
-
startActivity(intent);
-
}
-
-
});
-
}
-
}
在点击Button之后,弹出前台Activity为半透明的。
-
packagecom.xiaochun91103;
-
-
importandroid.app.Activity;
-
importandroid.os.Bundle;
-
-
publicclassshowextendsActivity{
-
-
@Override
-
protectedvoidonCreate(BundlesavedInstanceState){
-
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.show);
-
}
-
}
在此App种需要声明前台Activity的主题为半透明:
styles.xml
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<resources>
-
<mce:stylename="Theme.Translucent"parent="android:style/Theme.Translucent"><!--
-
<itemname="android:windowNoTitle">true</item>
-
<itemname="android:colorForeground">#fff</item>
-
-
--></mce:style><stylename="Theme.Translucent"parent="android:style/Theme.Translucent"mce_bogus="1"><itemname="android:windowNoTitle">true</item>
-
<itemname="android:colorForeground">#fff</item>
-
</style>
-
</resources>
重点是在Manifest文件下声明Activity时,指定Activity的主题
-
<activity
-
android:name=".show"
-
android:theme="@style/Theme.Translucent"
-
/>
运行截图如下:
分享到:
相关推荐
自定义Dialog(Activity样式改为Dialog)
android 自定义 dialog和activity 跳转的样式
其实实现悬浮的自定义窗体有很多方法,自定义Dialog,自定义layout 均可以实现。自定义activity也是可以的,今天我就介绍一下activity的实现方法。下面来看看详细的介绍: 效果图 如图可以看出,当前的窗体,...
很多这种类型的dialog,界面千变万化,于是我建立了一个通用自定义dialog,可以实现以下功能: 1、界面的自定义,全部自己用xml定义界面; 2、不管是在Fragment,还是Activity都可以实例化该dialog,并且实现dialog...
android自定义全屏dialog,可以全屏显示图片。
完全自定义dialog,简单易用,在对应的activity中监听事件
自定义Dialog,将Activity转化为Dialog,可任意布局
自定义Dialog 让Activity 不变暗 正在加载动画,博文地址http://blog.csdn.net/wuqilianga/article/details/50659651
dialog在开发中非常常用,但是系统自带的样式有限,所以我们需要自定义,吧aactivity装扮成dialog是非常灵活的,我写了一个demo,和大家分享
自定义activity的Dialog源码自定义activity的Dialog源码
该项目的主要功能是如何自定义Dialog,并通过接口回调的方式把参数传递到activity或者Fragment,主要强调的是一种思想,同时,也阐述了如何改变一个字符串中某部分文字的颜色,需要的小伙伴可以下载
本文实例讲述了Android编程自定义Dialog的方法。分享给大家供大家参考,具体如下: 功能: android 提供给我们的只有2种Dialog 即 AlertDialog & ProgressDialog 但是 Dialog 有其自身的特点:1. 不是 Activity 2. ...
一、需求触发场景: 项目中需要开发带有EditText的Dialog显示,要求在编辑完EditText时,点击...需要在配置文件中将需要显示为dialog样式的activity添加dialog主题(可调用系统自带也可以自定义主题添加) <?xml
首先我们可能会首先想到的是在XML布局文件中设置android:layout_height=”wrap_content”属性,让activity的高度自适应,显然这还不行,我们还需要为其DialogActivity设置自定义一个样式 <style name=dialog...
import com.zidinglyi_dialog.activity.R; import android.app.Dialog; import android.content.Context; import android.graphics.drawable.AnimationDrawable; import android.view.Gravity; import android....
自定义圆角DialogActivity
本文实例讲述了Android实现可使用自定义透明Dialog样式的Activity。分享给大家供大家参考,具体如下: 有时你需要一个对话框,但同时对话框中的内容有更多控制和能控制其生命周期,这时你可以使用带有Dialog样式的...