2011-10-10 6 views
0

Je n'arrive pas à créer ma propre boîte de dialogue personnalisée. J'ai suivi example.comment créer une boîte de dialogue personnalisée sans fenêtre

1) une fonctionnalité dont j'ai besoin est de désactiver l'arrière-plan "fenêtre" - actuellement quand je montre une boîte de dialogue, il ya comme un fond noir avec une certaine transparence. comment puis-je faire sans ce fond de "fenêtre" ou complètement transparent?

2) Comment définir la taille de la boîte de dialogue?

3) Je veux ajouter une image à l'arrière-plan de la boîte de dialogue - comment la rendre transparente?

modifier *

<style name="Dialog" parent="android:style/Theme.Dialog"> 
    <item name="android:windowBackground">@color/transparent</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowIsFloating">false</item> 
</style> 

J'ai utilisé ce style pour mon dialogue et ajouter l'arrière-plan en utilisant frameLayout, comme ceci:

final CustomDialog dialog = new CustomDialog(context, R.style.Dialog); 
ImageView image = new ImageView(context); 
image.setImageResource(R.drawable.background2); 
image.setAlpha(75); 
image.setVisibility(View.VISIBLE); 

final FrameLayout frameLayout = new FrameLayout(context); 
frameLayout.setPadding(40, 100, 40, 100); 
frameLayout.addView(image, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 

View layout = inflater.inflate(R.layout.dialog, null); 
frameLayout.addView(layout, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
dialog.setContentView(frameLayout); 
+0

où? Je n'ai pas trouvé quelque chose lié à la transparence – piojo

Répondre

0
  1. Vous devriez être en mesure de mettre la boîte de dialogue complètement transparent avec :
    Dialog myDialog = nouvelle boîte de dialogue (this, android.R.style.Theme_Translucent_NoTitleBar);
  2. Si vous personnalisez une mise en page pour votre boîte de dialogue, vous devriez pouvoir définir les attributs de largeur &.
  3. Définissez ImageView comme arrière-plan, puis ajustez la transparence avec myImage.setAlpha (127);
+0

ne fonctionnait pas ou je fais quelque chose mal – piojo

+0

Pourriez-vous poster un peu de votre code et je vais essayer de vous aider. – SBerg413

+0

a finalement fonctionné. Je modifie ma question à ce que j'ai fait. – piojo

Questions connexes