自定义progressbar
2015-12-22 14:24
351 查看
<ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@android:color/transparent" android:indeterminateDrawable="@drawable/progressbar" />
progressbar.xml
<?xml version="1.0" encoding="utf-8"?> <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:toDegrees="360" > <shape android:innerRadiusRatio="3" android:shape="ring" android:thicknessRatio="8" android:useLevel="false" > <gradient android:centerColor="@color/title_color" android:centerY="0.50" android:endColor="@color/title_color" android:startColor="@color/transparent" android:type="sweep" android:useLevel="false" /> </shape> </animated-rotate>
全部代码
<style name="Animation.Dialog"> <item name="windowEnterAnimation">@anim/dialog_enter</item> <item name="windowExitAnimation">@anim/dialog_exit</item> </style>
<!-- 更多登录等待框的样式 --> </style> <style name="loadingDialogStyle" parent="android:Theme.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowContentOverlay">@null</item> <!-- 对话框是否有遮盖 --> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <item name="android:backgroundDimEnabled">true</item> </style>
public class ThirdLoginLoadingDialog extends Dialog { private TextView tv; public ThirdLoginLoadingDialog(Context context) { super(context, R.style.loadingDialogStyle); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_thirdlogin_dialog_loading); tv = (TextView) this.findViewById(R.id.tv); tv.setText("正在登录..."); LinearLayout linearLayout = (LinearLayout) this .findViewById(R.id.LinearLayout); linearLayout.getBackground().setAlpha(0); } }
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:gravity="center"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/LinearLayout"
android:layout_width="160dp"
android:layout_height="160dp"
android:background="@drawable/thirdlogin_dialog_bg"
android:gravity="center"
android:orientation="vertical" >
<ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@android:color/transparent" android:indeterminateDrawable="@drawable/progressbar" />
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingTop="10dp"
android:textColor="@android:color/white" />
</LinearLayout>
</LinearLayout>
最后 在主活动中加上
private ThirdLoginLoadingDialog dialog; dialog = new ThirdLoginLoadingDialog(this);
dialog.setCanceledOnTouchOutside(false);//防止触摸其他地方,程序报错
dialog.show(); dialog.dismiss();
相关文章推荐
- Tomcat 7遇到StackOverflowError的异常的解决办法
- 基于Android热点的局域网UDP广播,部分手机收不到UDP报文的问题
- 关于fbx转化为md5
- UVA 4561 - Range
- UITableView的分割线不显示或者显示不全
- Nginx配置文件nginx.conf中文详解
- mysql分组取每组前几条记录(排名)
- WINCE下获取当前目录的几种方法
- winform中嵌入窗体到panel
- iOS 指纹解锁
- 记录-在jsp页面获取后台值在页面显示过长处理
- 在Xcode中使用自定义的代码片段提高效率
- 线程1-线程常用方法
- casperjs# install
- Android Studio遇到了一些小困惑
- 窗体透明度设置
- JSON encode 解决乱码问题
- Centos中升级nginx
- gdb多线程调试
- 动态规划算法