当前位置:操作系统 > 安卓/Android >>

android 中Dialog的一些用法

1.第一种实现的效果:类似于进度对话框的Dialog
 
自定义实现的布局如下:
[html] 
<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:id="@+id/dialog_view"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:background="@drawable/loading_bg"  
    android:gravity="center"  
    android:minHeight="60dp"  
    android:minWidth="180dp"  
    android:orientation="vertical"  
    android:padding="10dp" >  
  
    <ImageView  
        android:id="@+id/img"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:src="@drawable/loading" />  
  
    <TextView  
        android:id="@+id/tipTextView"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_marginLeft="10dp"  
        android:layout_marginTop="5dip"  
        android:text="数据加载中……"  
        android:textColor="@android:color/black"  
        android:textSize="18dip" />  
  
</LinearLayout>  
需要自定义的样式如下:
[html] 
<!-- 自定义loading dialog样式 -->  
 <style name="loading_dialog" parent="android:style/Theme.Dialog">  
     <item name="android:windowFrame">@null</item>  
     <item name="android:windowNoTitle">true</item>  
     <item name="android:windowBackground">@drawable/loading_bg</item>  
     <item name="android:windowIsFloating">true</item>  
     <item name="android:windowContentOverlay">@null</item>  
 </style>  
 
需要自定义的旋转的动画如下:
[html]  
<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android"  
    android:shareInterpolator="false" >  
  
    <!-- 自定义旋转的动画 -->  
    <rotate  
        android:duration="2000"  
        android:fromDegrees="0"  
        android:interpolator="@android:anim/linear_interpolator"  
        android:pivotX="50%"  
        android:pivotY="50%"  
        android:repeatCount="-1"  
        android:repeatMode="restart"  
        android:startOffset="-1"  
        android:toDegrees="+360" />  
  
</set>  
 
实现的方法如下
[java] 
LayoutInflater inflater = LayoutInflater.from(this);  
        View v = inflater.inflate(R.layout.loading_dialog, null);// 得到加载view  
        LinearLayout layout = (LinearLayout) v.findViewById(R.id.dialog_view);// 加载布局  
        // main.xml中的ImageView  
        ImageView spaceshipImage = (ImageView) v.findViewById(R.id.img);  
        TextView tipTextView = (TextView) v.findViewById(R.id.tipTextView);// 提示文字  
        // 加载动画  
        Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(this,  
                R.drawable.loading_animation);  
        // 使用ImageView显示动画  
        spaceshipImage.startAnimation(hyperspaceJumpAnimation);  
        tipTextView.setText("dddd");// 设置加载信息  
  
        Dialog loadingDialog = new Dialog(this, R.style.loading_dialog);// 创建自定义样式dialog  
  
        loadingDialog.setCancelable(true);// 不可以用“返回键”取消  
        loadingDialog.setContentView(layout, new LinearLayout.LayoutParams(  
                LinearLayout.LayoutParams.FILL_PARENT,  
                LinearLayout.LayoutParams.FILL_PARENT));// 设置布局  
        loadingDialog.show();  
//      System.out.println("对话框取消的方法");  
//      loadingDialog.cancel();  
 
 
2.自定义实现退出的对话框
实现的效果如下:
 
 
需要的自定义布局如下:
[html] 
<?xml version="1.0" encoding="UTF-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:id="@+id/parentPanel"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:orientation="vertical" >  
  
    <LinearLayout  
        android:id="@+id/title_template"  
        android:layout_width="fill_parent"  
        android:layout_height="45.0dip"  
        android:layout_gravity="center"  
        android:background="@drawable/g_btn_green_pressed"  
        android:orientation="horizontal" >  
  
        <com.android.internal.widget.DialogTitle  
            android:id="@+id/
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,