2012-07-24 2 views
4

저는 Custom Progress Dialog으로 작업 중입니다. 이 SO 질문에서 수행되는 스타일을 설정했습니다. Positionning the spinning wheel in a custom progress dialog 내 진행 대화 상자에 애니메이션이 전혀 표시되지 않습니다. backgroundblack으로 변경했을 때 블랙 박스 만 표시되었습니다. 진행률 대화 상자에 애니메이션을 적용 해보고 싶습니다. 활동에사용자 지정 진행 대화 상자 애니메이션

나는이

public MyProgressDialog(Context context) { 
     super(context, R.style.NewDialog); 
    } 

처럼 뭔가를하고있는 중이 야하고 NewDialog은 다음과 같습니다

<style name="NewDialog" parent="@android:style/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:width">50dip</item> 
    <item name="android:height">50dip</item> 
    <item name="android:background">@android:color/transparent</item> 

</style> 

어떤 도움이 사전

+0

포스트 ** 특정 코드로 완전한 예제를 얻을 것이다 ** 난의 코드를 붙여 복사 애니메이션 – JoxTraex

+0

관련

+0

우리가 다른 게시물을 보러 가야하지 마십시오. ** 관련 ** 코드 만 애니메이션에 게시하십시오. – JoxTraex

답변

10
import android.app.ProgressDialog; 
import android.content.Context; 
import android.view.animation.Animation; 

public class MyProgressDialog extends ProgressDialog { 

    public MyProgressDialog(Context context) { 
     super(context,R.style.NewDialog); 

     // TODO Auto-generated constructor stub 
    } 

} 

// 자원의 스타일 파일에 감사 res-> values-> mydialog.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="NewDialog" parent="@android:style/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:colorBackground">#ffffff</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:width">600dip</item> 
    <item name="android:height">100dip</item> 
    <item name="android:textColor">#FF0000</item> 

</style> 
</resources> 

// 내가 코드를 실행 한대로 당신 여부를 테스트하는

MyProgressDialog pd = new MyProgressDialog(YouActivity.this); 
pd.setMessage("Loading. Please wait..."); 
pd.show(); 

은 당신의 코드 내에서 어떤 차이가없는 CUSTOM 진행 대화 상자를 얻을 수있는 응용 프로그램에서 어느 곳이 코드를 사용 어떤 문제가 발생했는지는 모르지만 여전히 문제를 찾을 수 있도록 게시하고 있습니다.

감사합니다 :)

+0

@SALMAN Dialog를 사용하여 MyProgressDialog를 확장했으며 귀하의 경우 ProgressDialog를 확장했습니다. 문제가 여전히 진행 대화 상자가 거짓말 상자에 가운데에 있지 않습니다 어떤 단서 –

+0

스타일 파일에서 두 줄을 변경하십시오. 20dip 20dip SALMAN

+0

Salman :이 링크에있는 것과 같은 것을 원합니다. http://stackoverflow.com/questions/3225889/how-to -center-progress-indicator-in-progressdialog-easy-no-title-text-pa 진행 표시기가 대화 상자 중앙에 없음 –

1
public 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); 
    resourceIdOfImage = R.drawable.loading_spinner_icon; 
    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); 
    } 

    } 

당신은 애니메이션 HERE