自定义context自定义Dialog之Progress(二)
这段时间个人几篇文章介绍了改自定义context的文章. 关联文章的地址
第一设法就是能在应用级别全局转变应用的ProgressDialog的样式。(
已经试过,没有胜利
)
做法是:
<item name="android:progressBarStyle">@style/theme.customer_progress_dialog</item>
@style/theme.customer_progress_dialog 是自定义的theme
如果有胜利的,希望能分享下,谢谢。
第二种做法是自定义theme, 然后定义一个ProgressDialog:CustomProgressDialog. 在应用里头就用这个.
自定义theme:
<style name="theme.customer_progress_dialog" parent="@android:style/Theme.Dialog"> <item name="android:alertDialogStyle">@style/customer_progress_dialog</item> <item name="android:progressBarStyleSmall">@style/customer_progress_dialog</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:paddingLeft">10dip</item> //图片与左边距的距离 <item name="android:paddingRight">10dip</item> //message与右边距的距离 <item name="android:textSize">20sp</item> //message字体的巨细 <item name="android:textColor">@android:color/white</item> //message字体的颜色 </style>
@style/customer_progress_dialog 自定义的ProgressDialog style
<style name="customer_progress_dialog" parent="@android:style/Widget.ProgressBar"> <item name="android:indeterminateDuration">2000</item> <item name="android:fullDark">@drawable/tip2_bg</item> <item name="android:topDark">@drawable/tip2_bg</item> <item name="android:centerDark">@drawable/tip2_bg</item> <item name="android:bottomDark">@drawable/tip2_bg</item> <item name="android:fullBright">@drawable/tip2_bg</item> <item name="android:topBright">@drawable/tip2_bg</item> <item name="android:centerBright">@drawable/tip2_bg</item> <item name="android:bottomBright">@drawable/tip2_bg</item> <item name="android:bottomMedium">@drawable/tip2_bg</item> <item name="android:centerMedium">@drawable/tip2_bg</item> </style>
自定义的CustomProgressDialog:
package com.example.android; import android.app.ProgressDialog; import android.content.Context; import android.os.Bundle; public class CustomeProgressDialog extends ProgressDialog { private Context mContent ; public CustomeProgressDialog(Context context){ super(context,R.style.theme_customer_progress_dialog) ; mContent = context ; } public CustomeProgressDialog(Context context, int theme) { super(context, theme); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setIndeterminateDrawable(mContent.getResources().getDrawable(R.drawable.customer_progess_dialog)) ; this.setCanceledOnTouchOutside(false) ; } public static CustomeProgressDialog show(Context context,String message){ CustomeProgressDialog dialog = new CustomeProgressDialog(context) ; dialog.setMessage(message) ; dialog.show() ; return dialog ; } }
测试代码:
CustomeProgressDialog.show(this,"上传数据中") ;
结果:
文章结束给大家分享下程序员的一些笑话语录:
Google事件并不像国内主流媒体普遍误导的那样,它仅仅是中国Z府和美国公司、中国文化和美国文化甚至中国人和美国人之间的关系,是民族主义和帝国主义之间的关系;更重要的是,它就是Z府和公司之间的关系,是权力管制和市场自由之间的关系。从这个意义上说,过度管制下的受害者,主要是国内的企业。Google可以抽身而去,国内的企业只能祈望特区。www.ishuo.cn
---------------------------------
原创文章 By
自定义和context
---------------------------------