2014-05-19 5 views
2

alertdialog 작성기를 사용하여 생성 된 경고 대화 상자가 있습니다. 대화 상자의 왼쪽과 오른쪽에있는 공간을 제거하고 싶습니다. 기본적으로 그것을 좌우로 확장합니다. 대화 대신 액티비티를 할 수 있다는 것을 알고 있지만, 버튼 스타일을 유지하고 해당 버튼 스타일을 액티비티에 구현하려면 여러 SDK에 대한 레이아웃을 만들어야합니다. 이는 장기적으로는 편리하지 않습니다.투명 여백이없는 Android 대화 상자 (전체 화면)

전폭이 필요한 이유는 무엇입니까? AdMob 광고를 게재해야하므로 전체 너비가 아닌 광고는로드되지 않습니다. 나는 테마 속성의 모든 종류의 시도로 어떤 도움에 감사드립니다

...

감사합니다, 아드리안

PS :

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.DialogTheme)); 
    alertDialogBuilder.setInverseBackgroundForced(true); 
    LayoutInflater inflater = this.getLayoutInflater(); 
    View view = inflater.inflate(R.layout.dial_dialog, null); 

    AdView adView = (AdView) view.findViewById(R.id.adView); 
    if (!application.getLicense().isValid()) { 
     adView.loadAd(new AdRequestWrapper(this)); 
    } 

    alertDialogBuilder.setView(view); 
    alertDialogBuilder.setTitle(R.string.dial_dialog_title).setCancelable(false); 
    alertDialogBuilder.setPositiveButton(R.string.dial_dialog_message_positive_text, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.dismiss(); 
     } 
    }); 
    alertDialogBuilder.setNeutralButton(R.string.dial_dialog_message_neutral_text, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.dismiss(); 
     } 
    }); 
    alertDialogBuilder.setNegativeButton(R.string.dial_dialog_message_negative_text, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.dismiss(); 
     } 
    }); 
    AlertDialog alertDialog = alertDialogBuilder.create(); 
    alertDialog.show(); 
    alertDialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 
다음은 대화 상자를 만들기위한 내 현재 코드는

PS2 : 여기 내가 필요로하는 이미지가 있습니다 ... http://www.tiikoni.com/tis/view/?id=f3aed38 빨간색으로 모든 공간을 풀 필요가 있습니다. 노란색으로 표시된 공간에는 아무런 문제가 없습니다. 만들 때

public MyDialog(Context c, Event e) { 
     super(c, android.R.style.Theme_Light); 
} 

또는

2) :

+0

애니메이션을 사용하여 transperent 활동을 사용하는 것이 더 좋습니다 ... – Dev

+0

대화 상자 테마 버튼과 제목 표시 줄을 사용할 수있는 주어진 활동을 사용하고 싶습니다. 그게 끝날 수 있습니까? –

+0

예 .. 할 수 있습니다 ..하지만 당신은 이전의 활동 내용을 볼 수 있도록 transperent 테두리를 원합니다 ... 그렇다면 ... 당신은 transperent 테마 활동을 사용해야합니다. 또한 제목 ans 상태 표시 줄도 제거 할 수 있습니다. – Dev

답변

0

조금 늦은 답을 알고 돌아 오지만, here의 요리법을 따르면 거의 모든 것을 해결할 수있었습니다.

<style name="DialogTheme" parent="android:Theme.Holo.Light.Dialog"> 
    <item name="android:windowBackground">@drawable/screen_background_selector_light</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:windowMinWidthMajor">100%</item> 
    <item name="android:windowMinWidthMinor">100%</item> 
</style> 

참고 나는 또한 screen_background_selector_light.xml 및 (해당 종속성 background_holo_light.xml)를 추가했다 의미 screen_background_selector_light 할 수있는 참조 : 기본적으로 나는 다음과 같은 대화 테마를 가지고있다.

<activity android:name=".zom.xyz.app.activity.MyActivity_" android:label="@string/activity_title" android:theme="@style/DialogTheme"/> 

그리고 물론

다른 활동으로 그것을 만들 : 그게 내가 만이 새로운 테마를 사용하는 작업을 지정해야한다고

기타.

다른 필요에 관해서는 ... 쉬운 버튼을 이렇게했습니다. 활동의 레이아웃은 다음과 같습니다

이 레이아웃과 테마를 사용하면 전체 폭을 제공하면서 정확한 느낌을 얻을 수 있습니다.

0

1) 자신의 만들기 대화 상자가 대화 상자에서와 생성자 세트 스타일이 뭔가를 확장 (유지 될 수 있거나 제거 할 수 있습니다) instanse 설정 스타일 :

Dialog dialog = new Dialog(this, R.style.MyDialogTheme); 

예를 here

+0

답장을 보내 주셔서 감사합니다. 대화 상자를 초기화하는 데 사용하는 실제 코드로 초기 질문을 편집했습니다. DialogTheme이라는 이름의 예제 테마에서 이미 스타일을 시도했지만 작동하지 않습니다. –

관련 문제