2015-04-26 5 views
0

J'ai regardé autour de la façon de faire ceci mais je ne suis pas encore très sûr, donc j'ai décidé de demander ici.Création d'un widget personnalisé avec un groupe de widgets existants?

Je cherche à créer une liste de widgets qui afficheront les noms des artistes, le genre, et le lieu où ils vont jouer. Ci-dessous, une image de 4 widgets composés d'une imageView et de 3 textViews Plain que je veux regrouper et créer un widget personnalisé, avec tous les 4 composants que je peux appeler, pour afficher les informations pertinentes. Je cherche aussi à faire en sorte que ce widget se duplique à une limite fixe, affichant différents artistes, genres et lieux les uns au-dessous des autres.

Je suis assez bloqué sur la façon d'aborder cela, et toute aide serait géniale s'il vous plaît! Merci d'avance!

Image:

http://puu.sh/hr9x4/b3bffdf263.jpg

modifier: bosse! Toute aide serait appréciée!

Répondre

0

Créez une vue personnalisée.

créer un widget de classe et l'étendre avec une disposition linéaire. Dans le constructeur gonflez une mise en page contenant votre mise en page (vue d'image et 3 vues de texte).

Ajouter la vue gonflé à la classe elle-même en appelant addView

fonctions setter d'écriture dans lequel vous accepterez l'objet de la classe d'événements qui contient des informations relatives à l'événement et cette fonction simplement définir les valeurs à la vue de texte approprié .

Class Widget extends LinearLayout{ 
private TextView artistName; 
public Widget(Context context) { 
     super(context); 

     View view = LayoutInflater.from(getContext()).inflate(
       R.layout.widget, null); 
     artistName = view.findViewById(R.id.artistName); 
     this.addView(view); 

    } 

public void setName(Event event){ 
    artistName.setText(event.getArtistName()); 
} 
} 

Dans votre mise en page de l'activité que vous pouvez l'utiliser comme

<pkg_name.Widget android:id="@+id/widget1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 
</pkg_name.Widget> 
+0

Merci! Je vais essayer ça maintenant – JaceAce

0

Franchement, vous devriez commencer par la lecture d'un official documentation pour les développeurs Android parce que vous pouvez y trouver les bases de la question posée. Si vous souhaitez apprendre des exemples et voir le code en détails, jetez un oeil à mon expérience de creating a custom Android widget. Là, j'ai dû résoudre un problème de transparence du widget. Peut-être que ce serait utile pour vous aussi.