Autore Topic: Immagine in primo piano come un dialog  (Letto 357 volte)

Offline Nokias

  • Utente junior
  • **
  • Post: 58
  • Respect: +1
    • Mostra profilo
Immagine in primo piano come un dialog
« il: 21 Luglio 2013, 11:38:42 CEST »
0
Buongiorno a tutti, avrei bisogno che a un click su un bottone venga visualizzata un'immagine in primo piano come fosse una dialog.
Come potrei fare? Avevo pensato di utilizzare una custom dialog ed inserire nel content l'immagine ma questa soluzione mi dà un po' di problemi. 

Offline gabric

  • Utente senior
  • ****
  • Post: 614
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Immagine in primo piano come un dialog
« Risposta #1 il: 21 Luglio 2013, 13:29:15 CEST »
0
uhm che problemi?
Posta il codice per la custom dialog
e anche per il layout che "inflati" dentro la dialog


Offline Nokias

  • Utente junior
  • **
  • Post: 58
  • Respect: +1
    • Mostra profilo
Re:Immagine in primo piano come un dialog
« Risposta #2 il: 21 Luglio 2013, 14:20:02 CEST »
0
Grazie mille gabric per la risposta ,ora ti spiego. Io prima di tutto ho provato ad utilizzare una libreria apposita per le dialog https://github.com/inmite/android-styled-dialogs[/url] e aggiungendo un dialog come specifica nel link ho questo errore :
"The method getSupportFragmentManager() is undefined for the type "MiaActivity" " . La MiaActivity è di questo tipo

public class MiaActivity extends Activity implements
      View.OnTouchListener {

A questo punto dato che non riesco a risolvere il problema ho pensato di creare direttamente una dialog in questo modo
Codice: [Seleziona]
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(getBaseContext(), R.style.CustomLightTheme));
                    // Get the layout inflater
                    LayoutInflater inflater = this.getLayoutInflater();

                    // Inflate and set the layout for the dialog
                    // Pass null as the parent view because its going in the dialog layout
                    builder.setView(inflater.inflate(R.layout.image_layout, null))
                    // Add action buttons
                           .setPositiveButton("yes", new DialogInterface.OnClickListener() {
                               @Override
                               public void onClick(DialogInterface dialog, int id) {
                                   // sign in the user ...
                               }
                           })
                           .setNegativeButton("no", new DialogInterface.OnClickListener() {
                               public void onClick(DialogInterface dialog, int id) {
                                   
                               }
                           });

                    builder.show();

con image_layout.xml
Codice (XML): [Seleziona]
<LinearLayout xmlns:android="[url]http://schemas.android.com/apk/res/android"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:orientation="vertical" >

    <ImageView
       android:id="@+id/dialogSImage"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:src="@drawable/braccio"
       android:layout_centerHorizontal="true"
       android:padding="@dimen/grid_2"/>

</LinearLayout>


La prima soluzione per me sarebbe stata la migliore senza ombra di dubbio ma non funziona.
Nella seconda soluzione ho due problemi:
- l'immagine che imposto nell'xml poi non viene centrata
- il tema che imposto nell'AlertDialog non viene affatto considerato

Non saprei proprio come risolvere. Tra poco posto anche un esempio del risultato.

Offline gabric

  • Utente senior
  • ****
  • Post: 614
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Immagine in primo piano come un dialog
« Risposta #3 il: 21 Luglio 2013, 15:06:53 CEST »
0
per il primo problema, prova ad estendere fragmetnActivity al posto di activity http://developer.android.com/reference/android/support/v4/app/FragmentActivity.html
e dimmi se va 

Offline Nokias

  • Utente junior
  • **
  • Post: 58
  • Respect: +1
    • Mostra profilo
Re:Immagine in primo piano come un dialog
« Risposta #4 il: 21 Luglio 2013, 15:29:08 CEST »
0
Dato che avevo una SherlockActivity l'ho esteso ad una SherlockFragmentActivity ed ora non dà errore ma una volta in esecuzione l'app va in crash.

Codice: [Seleziona]
07-21 15:23:15.527: E/AndroidRuntime(4908): FATAL EXCEPTION: main
07-21 15:23:15.527: E/AndroidRuntime(4908): java.lang.NoClassDefFoundError: un.l.m.activity.JayneHatDialogFragment
07-21 15:23:15.527: E/AndroidRuntime(4908):         at un.l.m.activity.MyActivity.onOptionsItemSelected(MyActivity.java:81)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at android.support.v4.app.Watson.onMenuItemSelected(Watson.java:119)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at com.actionbarsherlock.ActionBarSherlock.callbackOptionsItemSelected(ActionBarSherlock.java:603)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at com.actionbarsherlock.internal.ActionBarSherlockNative.dispatchOptionsItemSelected(ActionBarSherlockNative.java:78)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at com.actionbarsherlock.app.SherlockFragmentActivity.onMenuItemSelected(SherlockFragmentActivity.java:205)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:958)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:514)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:99)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at android.view.View.performClick(View.java:4084)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at android.view.View$PerformClick.run(View.java:16966)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at android.os.Handler.handleCallback(Handler.java:615)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at android.os.Handler.dispatchMessage(Handler.java:92)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at android.os.Looper.loop(Looper.java:137)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at android.app.ActivityThread.main(ActivityThread.java:4745)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at java.lang.reflect.Method.invokeNative(Native Method)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at java.lang.reflect.Method.invoke(Method.java:511)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-21 15:23:15.527: E/AndroidRuntime(4908):         at dalvik.system.NativeStart.main(Native Method)