欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中創(chuàng)建一個(gè)透明的進(jìn)度對話框?qū)嵗?/h1>
 更新時(shí)間:2014年05月06日 09:15:50   作者:  
這篇文章主要介紹了Android中創(chuàng)建一個(gè)透明的進(jìn)度對話框?qū)嵗?需要的朋友可以參考下

首先我們看一下什么叫做透明的進(jìn)度對話框:



接下來我們講一下如何創(chuàng)建:
1、使用Eclipse創(chuàng)建一個(gè)新的Andr​​oid 項(xiàng)目,使用Android 2.2或以上。
2、在/res/layout文件夾,創(chuàng)建線性布局activity_main.xml文件,主要是為了添加一個(gè)文本標(biāo)簽和一個(gè)按鈕

復(fù)制代碼 代碼如下:

activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:padding="8dp"
        android:textSize="20sp"
        android:text="Transparent Progress Indicator" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Check it out!"
        android:layout_marginTop="40dp"
        android:layout_gravity="center"
        android:id="@+id/the_button" />

</LinearLayout>

3、在/res/values中打開styles.xml,在這里將添加透明對話框的樣式。請務(wù)必指定父屬性,否則你在運(yùn)行時(shí)會出現(xiàn)問題

復(fù)制代碼 代碼如下:

styles.xml
<resources>

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

    <!--  Transparent dialog -->
    <style name="TransparentProgressDialog" parent="@android:Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowTitleStyle">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
        <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:background">@android:color/transparent</item>
    </style>

</resources>

4、 在/res中間添加一個(gè)動(dòng)態(tài)旋轉(zhuǎn)的動(dòng)畫圖片:



5、現(xiàn)在可以實(shí)現(xiàn)您的MainActivity.java文件了

復(fù)制代碼 代碼如下:

MainActivity.java
package com.authorwjf.transparentprogressdialog;

import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.LinearInterpolator;
import android.view.animation.RotateAnimation;
import android.widget.ImageView;
import android.widget.LinearLayout;

public class MainActivity extends Activity implements OnClickListener {

 private TransparentProgressDialog pd;
 private Handler h;
 private Runnable r;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  h = new Handler();
  pd = new TransparentProgressDialog(this, R.drawable.spinner);
  r =new Runnable() {
   @Override
   public void run() {
    if (pd.isShowing()) {
     pd.dismiss();
    }
   }
  };
  findViewById(R.id.the_button).setOnClickListener(this);
 }

 @Override
 public void onClick(View v) {
  pd.show();
  h.postDelayed(r,5000);
 }

 @Override
 protected void onDestroy() {
  h.removeCallbacks(r);
  if (pd.isShowing() ) {
   pd.dismiss();
  }
  super.onDestroy();
 }

}

6、以下是實(shí)現(xiàn)透明動(dòng)畫的代碼

復(fù)制代碼 代碼如下:

private class TransparentProgressDialog extends Dialog {

 private ImageView iv;

 public TransparentProgressDialog(Context context, int resourceIdOfImage) {
  super(context, R.style.TransparentProgressDialog);
         WindowManager.LayoutParams wlmp = getWindow().getAttributes();
         wlmp.gravity = Gravity.CENTER_HORIZONTAL;
         getWindow().setAttributes(wlmp);
  setTitle(null);
  setCancelable(false);
  setOnCancelListener(null);
  LinearLayout layout = new LinearLayout(context);
  layout.setOrientation(LinearLayout.VERTICAL);
  LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
  iv = new ImageView(context);
  iv.setImageResource(resourceIdOfImage);
  layout.addView(iv, params);
  addContentView(layout, params);
 }

 @Override
 public void show() {
  super.show();
  RotateAnimation anim = new RotateAnimation(0.0f, 360.0f , Animation.RELATIVE_TO_SELF, .5f, Animation.RELATIVE_TO_SELF, .5f);
  anim.setInterpolator(new LinearInterpolator());
  anim.setRepeatCount(Animation.INFINITE);
  anim.setDuration(3000);
  iv.setAnimation(anim);
  iv.startAnimation(anim);
 }
}

最后的結(jié)果是

相關(guān)文章

  • Android編程實(shí)現(xiàn)將壓縮數(shù)據(jù)庫文件拷貝到安裝目錄的方法

    Android編程實(shí)現(xiàn)將壓縮數(shù)據(jù)庫文件拷貝到安裝目錄的方法

    這篇文章主要介紹了Android編程實(shí)現(xiàn)將壓縮數(shù)據(jù)庫文件拷貝到安裝目錄的方法,涉及Android處理壓縮文件的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • Kotlin實(shí)現(xiàn)半圓形進(jìn)度條的方法示例

    Kotlin實(shí)現(xiàn)半圓形進(jìn)度條的方法示例

    這篇文章主要給大家介紹了關(guān)于Kotlin實(shí)現(xiàn)半圓形進(jìn)度條的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • Android自定義View繪制貝塞爾曲線的方法

    Android自定義View繪制貝塞爾曲線的方法

    這篇文章主要為大家詳細(xì)介紹了Android自定義View繪制貝塞爾曲線的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Android開發(fā)VR實(shí)戰(zhàn)之播放360度全景視頻

    Android開發(fā)VR實(shí)戰(zhàn)之播放360度全景視頻

    這篇文章主要為大家詳細(xì)介紹了Android開發(fā)VR實(shí)戰(zhàn)之播放360度全景視頻,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Android仿優(yōu)酷圓形菜單學(xué)習(xí)筆記分享

    Android仿優(yōu)酷圓形菜單學(xué)習(xí)筆記分享

    這篇文章主要為大家分享了Android仿優(yōu)酷圓形菜單學(xué)習(xí)筆記,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • android通過google api獲取天氣信息示例

    android通過google api獲取天氣信息示例

    這篇文章主要介紹了android通過google api獲取天氣信息示例,需要的朋友可以參考下
    2014-04-04
  • android讀取掃碼模組數(shù)據(jù)的方法

    android讀取掃碼模組數(shù)據(jù)的方法

    這篇文章主要為大家詳細(xì)介紹了android讀取掃碼模組數(shù)據(jù)的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Android RelativeLayout相對布局屬性簡析

    Android RelativeLayout相對布局屬性簡析

    在Android應(yīng)用開發(fā)過程中,為了界面的美觀考慮,經(jīng)常會使用到布局方面的屬性,本文就以此問題深入解析,詳解一下Android RelativeLayout相對布局屬性在實(shí)際開發(fā)中的應(yīng)用,需要的朋友可以參考下
    2012-11-11
  • Android自定義PasswordInputView密碼輸入

    Android自定義PasswordInputView密碼輸入

    這篇文章主要為大家詳細(xì)介紹了Android自定義PasswordInputView密碼輸入功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Android 無障礙全局懸浮窗實(shí)現(xiàn)示例

    Android 無障礙全局懸浮窗實(shí)現(xiàn)示例

    本文主要介紹了Android 無障礙全局懸浮窗實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評論