Εμφάνιση αναρτήσεων με ετικέτα Γρήγορες συμβουλές. Εμφάνιση όλων των αναρτήσεων
Εμφάνιση αναρτήσεων με ετικέτα Γρήγορες συμβουλές. Εμφάνιση όλων των αναρτήσεων

Πέμπτη 12 Ιουνίου 2014

Android Color Picker

Υπάρχουν αρκετές βιβλιοθήκες για Android που υλοποιούν color pickers. Μία αρκετά καλή και εύκολη στη χρήση (αν και έχει καιρό να συντηρηθεί) είναι η παρακάτω:

android-ColorPickerPreference

Είναι υλοποιημένη σαν library (επομένως την προσθέτουμε σαν reference στο project μας) και μπορεί να χρησιμοποιηθεί με διάφορους τρόπους. Ο πιο γρήγορος είναι ως εξής:

 import net.margaritov.preference.colorpicker.ColorPickerDialog;  
 ...  
  ColorPickerDialog cpd=new ColorPickerDialog(context, Color.BLACK);//το Color.BLACK είναι το αρχικό χρώμα  
  //μπορούμε να χρησιμοποιήσουμε οποιοδήποτε χρώμα    
  cpd.setAlphaSliderVisible(true); //προαιρετικό, αν θέλουμε να επιλέγουμε διαφάνεια   
  cpd.setOnColorChangedListener(onColorChangedListener); //για να πάρουμε πίσω το επιλεγμένο χρώμα στην activity μας   
  cpd.show();   

Και ο listener στον οποίο παίρνουμε το επιλεγμένο χρώμα:

 private ColorPickerDialog.OnColorChangedListener onColorChangedListener=new ColorPickerDialog.OnColorChangedListener(){  
      @Override  
      public void onColorChanged(int color) {  
           //η color περιέχει το επιλεγμένο χρώμα  
           //εδώ μπορούμε να το χρησιμοποιήσουμε  
      }  
 };  

Σάββατο 24 Μαΐου 2014

android:imeOptions και android:inputType

Για να δουλέψει σωστά το XML attribute android:imeOptions (π.χ. actionDone σε ένα edittext) πρέπει να έχουμε ορίσει και το attribute android:inputType (π.χ. number)

Πέμπτη 1 Μαΐου 2014

libgdx και Google Ads

Αναβαθμίζοντας μία εφαρμογή ώστε να χρησιμοποιεί το νέο Google Mobile Ads SDK και όχι το παλιότερο standalone Admob sdk (το οποίο έχει γίνει deprecated), αντιμετώπισα ένα περίεργο πρόβλημα:
 Ενώ το adview φορτωνόταν κανονικά, παρέμενε αόρατο έως ότου γινόταν κάποια κίνηση που θα ανανέωνε την οθόνη (π.χ. σβήσιμο οθόνης και ενεργοποίησή της).
Τελικά η λύση είναι απλή. Αρκεί να ορίσεις κάποιο φόντο στο adview:

adMobView.setBackgroundColor(getResources().getColor(android.R.color.transparent));

Στη δική μου περίπτωση, χρησιμοποίησα διάφανο φόντο, αλλά μπορεί να χρησιμοποιηθεί οποιοδήποτε χρώμα.

Τρίτη 29 Απριλίου 2014

android:layout_weight

Με τη χρήση του attribute android:layout_weight στα xml layouts στο android ορίζουμε το χώρο που θέλουμε να καταλαμβάνουν τα διάφορα αντικείμενα.
Π.χ. αν έχουμε ένα οριζόντιο LinearLayout με δύο TextViews και ορίσουμε weight 0.4 στο ένα και 0.6 στο άλλο, τότε το πρώτο θα καταλάβει το 40% του χώρου και το δεύτερο το 60%. Για να δουλέψει η μέθοδος αυτή θα πρέπει στην αντίστοιχη διάσταση των αντικειμένων μέσα στο layout δώσουμε τιμή 0dp. Στο παραπάνω παράδειγμα θα πρέπει το layout_width στα δύο TextViews να είναι 0dp.

Παρασκευή 21 Μαρτίου 2014

Android emulator: unfortunately, launcher has stopped

Αν στον Android emulator εμφανίζεται το μήνυμα "unfortunately, launcher has stopped", τότε πρέπει να αυξήσουμε το VM heap στην Virtual device που χρησιμοποιούμε (μέσω του AVD Manager)