Autore Topic: Problema con botton e screen width  (Letto 395 volte)

Offline trito81

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy s4
  • Sistema operativo:
    Windows 7
Problema con botton e screen width
« il: 10 Ottobre 2013, 13:56:06 CEST »
0
Ciao a tutti è la prima volta che scrivo, ma è un po di tempo che vi seguo come "osservatore".
Comincio col ringraziarvi perché spesso sono riuscito a trovare le soluzioni ai miei problemi spulciando qua e la per il forum.
Questa volta pero ho una situazione che non riesco a capire:

 Sto creando un'applicazione dove nella parte alta dello schermo voglio far apparire un banner. Il server so già che mi inviera banner nel formato 320x50 e 640x100. Testando pero i banner sul mio galaxy s4 mi sono accorto di un comportamento che non capisco.

Creo un Button:
Codice (XML): [Seleziona]
 <Button
           android:id="@+id/button1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentLeft="true" />

E poi nell' activity associo il banner grande 320*50 come background:
Codice (Java): [Seleziona]
Button button = (Button) findViewById(R.id.button1);
            button.setBackgroundResource(R.drawable.banner320);

Io ho controllato tramite il comando :
 
Codice (Java): [Seleziona]
DisplayMetrics displayMetrics = activity.getResources().getDisplayMetrics();
displayMetrics.widthPixels;
displayMetrics.heightPixels;

E la dimensione del mio schermo sono w 1080 px ed H 1920 quindi mi aspettavo che un banner con w 320 occupasse un terzo del monitor invece ne prende più di tre quarti(vedi allegato).....come mai??? :'(

Allo stesso modo se inserisco il banner 640 (che pensavo ci potesse entrare tranquillamente) questo si deforma come se il monitor avesse una w di 400px.

Qualcuno puo gentilmente far capire a questo niubbo quale è il problema?  :-)

Grazie mille a tutti


Offline matttt

Re:Problema con botton e screen width
« Risposta #1 il: 10 Ottobre 2013, 20:38:33 CEST »
0
Benvenuto allora.
Dimensioni schermo: w 1080 px ed H 1920 ?! Cioè hai un dispositivo o emulatore in Full HD (portrait) ??
Tornando al tuo problema... il banner è completo in altezza o viene tagliato?
Ipotizzo che il wrap_content lo faccia sul bottone e di sfondo mette l'immagine.
Potresti invece usare un ImageView e gestire il click normalmente con setOnClickListener()
Le mie apps su Google Play Store:

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema con botton e screen width
« Risposta #2 il: 10 Ottobre 2013, 20:54:36 CEST »
0
Come accennato anche da mattt, le dimensioni sono quelle del Button, la bitmap viene adattata.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline trito81

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy s4
  • Sistema operativo:
    Windows 7
Re:Problema con botton e screen width
« Risposta #3 il: 10 Ottobre 2013, 22:17:07 CEST »
0
Grazie per le risposte, rispondo in line alle tue domande...

Dimensioni schermo: w 1080 px ed H 1920 ?! Cioè hai un dispositivo o emulatore in Full HD (portrait) ??
Sto testado su un dispositivo reale (Galaxy S4)
Tornando al tuo problema... il banner è completo in altezza o viene tagliato?
Il banner è completo
Ipotizzo che il wrap_content lo faccia sul bottone e di sfondo mette l'immagine.
Potresti invece usare un ImageView e gestire il click normalmente con setOnClickListener()
Ok proverò ad utilizzare ImageView...
 
... grazie mille per il momento

Post unito: 10 Ottobre 2013, 22:20:50 CEST
Come accennato anche da mattt, le dimensioni sono quelle del Button, la bitmap viene adattata.

Ciao e grazie, quindi se ho capito bene una volta assegnata come sfondo l'immagine(banner) se volessi che questo bottone abbia le dimensioni 320x50 dovrei esplicitamente assegnargliele con qualcosa del tipo:

Codice (Java): [Seleziona]
button.setLayoutParams(new RelativeLayout.LayoutParams(320, 50));
Grazie  ;-)
« Ultima modifica: 10 Ottobre 2013, 22:20:50 CEST da trito81, Reason: Merged DoublePost »