2011-07-26 4 views
6

Quelle classe dois-je utiliser lors de la définition du LayoutParams de mon LinearLayout? Les deux suivantes ne fonctionnent pas:ClassCastException lors de l'ajout LayoutParams

  1. linLayout.setLayoutParams(new ViewGroup.LayoutParams(50,50));
  2. linLayout.setLayoutParams(new android.widget.LinearLayout.LayoutParams(50,50));

si je reçois les params d'abord, changer les et en retrait, il travaille. Donc, je suppose que le Params je suis retourné hériter de ViewGroup.LayoutParams ...

Une idée? THX

Répondre

12

Utilisez les LayoutParams du parent. Donc, au cas où votre LinearLayout est un enfant de RelativeLayout alors vous utilisez linLayout.setLayoutParams(new android.widget.RelativeLayout.LayoutParams(50,50));

+0

fou, c'est cool :) pourquoi utiliser ces paramètres et pas les paramètres LinearLayout? – Frempe

+1

Je ne connais pas la réponse exacte, mais LayoutParams est utilisé par les vues pour dire à leurs parents comment ils veulent être disposés. Et ceci est spécifique au parent (dépend du type de disposition parent). Donc aussi quand vous êtes en train de lancer linlayout.getLayoutParams, placez-le dans (RelativeLayout.LayoutParams) dans ce cas. –

+0

ah a un sens, THX! – Frempe

Questions connexes