有些需求为了与软件风格保持一致需要自定义控件。progressdialog重写如下:
public class MofficeProgressDialog extends Dialog
{
LayoutInflater inflater;
Context context;
TextView titleText;
static MofficeProgressDialog mofficeProgressDialog = null;
TextView message;
ImageView diverse;
public MofficeProgressDialog(Context context)
{
super(context);
this.context = context;
}
public static MofficeProgressDialog create(Context context)
{
mofficeProgressDialog = new MofficeProgressDialog(context, null);
return mofficeProgressDialog;
}
public MofficeProgressDialog(Context context, AttributeSet attr)
{
super(context, R.style.CustomProgressDialog);
this.context = context;
setContentView(R.layout.mofficeprogressdialog);
// inflater = (LayoutInflater)context.getSystemService(Service.LAYOUT_INFLATER_SERVICE);
}
public MofficeProgressDialog setTitle(String title)
{
titleText = (TextView)mofficeProgressDialog.findViewById(R.id.title);
if (!StringUtils.isEmpty(title.toString()))
{
titleText.setVisibility(View.VISIBLE);
titleText.setText(title.toString());
diverse = (ImageView)mofficeProgressDialog.findViewById(R.id.dirves);
diverse.setVisibility(View.VISIBLE);
}
return mofficeProgressDialog;
}
public MofficeProgressDialog setTitleById(int titleId)
{
titleText = (TextView)mofficeProgressDialog.findViewById(R.id.title);
String titleStr = context.getResources().getString(titleId);
if (!StringUtils.isEmpty(titleStr))
{
titleText.setVisibility(View.VISIBLE);
titleText.setText(titleStr);
diverse = (ImageView)inflater.inflate(R.layout.mofficeprogressdialog, null).findViewById(R.id.dirves);
diverse.setVisibility(View.VISIBLE);
}
return mofficeProgressDialog;
}
public MofficeProgressDialog setMessageById(int messageId)
{
message = (TextView)mofficeProgressDialog.findViewById(R.id.message);
String titleStr = context.getResources().getString(messageId);
if (!StringUtils.isEmpty(titleStr))
{
message.setText(titleStr);
}
return mofficeProgressDialog;
}
public MofficeProgressDialog setMessage(String messages)
{
message = (TextView)mofficeProgressDialog.findViewById(R.id.message);
if (!StringUtils.isEmpty(messages.toString()))
{
message.setText(messages.toString());
}
return mofficeProgressDialog;
}
}
mofficeprogressdialog.xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:background="@drawable/linearlayout_selector" android:layout_height="fill_parent">
<TextView android:id="@+id/title" android:layout_width="fill_parent"
android:textSize="15sp" android:textColor="#000000" android:layout_marginLeft="5dp"
android:visibility="gone"
android:layout_height="wrap_content" />
<ImageView android:visibility="invisible" android:background="@drawable/dialog_diverse"
android:layout_width="fill_parent" android:layout_height="1dp"
android:id="@+id/dirves"></ImageView>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal">
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_marginRight="5dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp" android:layout_marginBottom="10dp"
android:orientation="horizontal">
<com.hanwei.demo.MofficeProgressBar
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" />
</LinearLayout>
<TextView android:id="@+id/message" android:layout_width="wrap_content"
android:singleLine="true" android:layout_height="wrap_content"
android:textSize="13sp" android:textColor="#000000"
android:text="@string/hello" android:layout_gravity="center_vertical" />
</LinearLayout>
</LinearLayout>
其中自定义的progressBar用之前提到的自定义控件。
分享到:
相关推荐
android 自定义ProgressDialog对话框,
android自定义ProgressDialog样式详解,一分钟教会你如何自定义android样式。
NULL 博文链接:https://duohuoteng.iteye.com/blog/1504193
详细请参考我的csdn博客:http://blog.csdn.net/allen315410/article/details/41699063
android 自定义progressDialog实现 加载转圈等待
Android中自定义ProgressDialog实现加载滚动条效果,例如显示“请稍后……”,希望对于有帮助
android 自定义组合progressdialog进度条,方便你的使用............................................................................................
主要介绍了Android自定义ProgressDialog系统加载框,通过本文大家可以尝试利用Android自定义ProgressDialog,感兴趣的小伙伴们可以参考一下
闲来无事,总结了两个自定义的ProgressDialog,大家可以参考下
主要为大家详细介绍了android自定义ProgressDialog加载效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这个demo是关于android中继承Dialog重新自定义一个ProgressDialog。 需求:带加载图片和文字说明,可定时停止也可被动中断。 如有BUG或者不完善,欢迎小伙伴们提出~
有时我们在项目执行某些耗时的操作是需要在界面上给出等待之类的信息,在android里面可以使用progressbar或者progressdialog,但是...所以需要自定义一个progressdialog,这个小例子试下了简单的自定义progressdialog
自定义ProgressDialog 更加美观 主要用于耗时操作 比如网络请求等
Android本身已经提供了ProgressDialog进度等待框,使用该Dialog,我们可以为用户提供更好的体验:在网络请求时,弹出此框等待网络数据。 不过,既然是为了提高用户体验,我们肯定希望该Dialog能更加炫酷,让用户看着...
主要介绍了实例详解Android自定义ProgressDialog进度条对话框的实现的相关资料,需要的朋友可以参考下
自定义的很漂亮的Android ProgressDialog, 可以拿去修改一下,用在自己的项目中
Android中自定义ProgressDialog实现加载滚动条效果(例如:1.加载中…2.请稍后……等)
Android自定义类似ProgressDialog效果的Dialog