Tengo este código de mi aplicación:

LinearLayout.LayoutParams params =
    new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT);

y sólo quiero establecer la orientación de la LinearLayout a la vertical. El equivalente en XML es:

android:orientation="vertical"

¿Cómo puedo hacerlo en el código, sin necesidad de XML?

InformationsquelleAutor Greg | 2011-06-07

6 Comentarios

  1. 173

    Usted no puede cambiar LinearLayout‘s de la orientación utilizando su LayoutParams. Esto sólo puede lograrse con un LinearLayout objeto.

    LinearLayout layout = /* ... */;
    layout.setOrientation(LinearLayout.VERTICAL);
  2. 6

    Puede utilizar como ésta:

    LinearLayout myll = (LinearLayout) findViewById(R.id.yourLinearLayout);
    myll.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT));
    myll.setOrientation(LinearLayout.VERTICAL);
    • la segunda línea debe ser myLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
  3. 4

    Necesita instancia LinearLayout. Después de que usted puede llamar a setOrientation()

    LinearLayout myLayout = ...;
    myLayout.setLayoutParams(new LayoutParams(LinearLayout.WRAP_CONTENT, LinearLayout.WRAP_CONTENT);
    myLayout.setOrientation(LinearLayout.VERTICAL);

    Que debe hacer el trabajo 🙂

    Para más información revise el Android API.

  4. 2

    Un trabajo de la muestra a continuación (es LayoutParams.WRAP_CONTENT, NO LinearLayout.WRAP_CONTENT)

    myLayout.setOrientation(LinearLayout.VERTICAL);
    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
    myLayout.setLayoutParams(layoutParams);
  5. 2

    En caso de que alguien más llegue aquí como yo, buscando la respuesta para Xamarin, el equivalente es:

    LinearLayout layout = /* ... */;
    layout.Orientation = Orientation.Vertical;
    layout.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);
  6. -6

    Utilizar simplemente como sigue :-

    LinearLayout mlayout = new LinearLayout(context);
    mlayout.setOrientation(2);

    2 significa Vertical, 1 se utiliza para horizontal.

    • ¿Por qué iba a volver después de 4 años la respuesta fue aceptado y dar una peor respuesta? Usted no debe usar ‘2’. Usted debe utilizar los valores estáticos definidos en LinearLayout, por ejemplo, LinearLayout.Vertical.
    • Porque quería saber Si estoy bien o mal. 🙂 Ahora he aprendido que es mejor utilizar los valores estáticos definidos en el linearLayout. 🙂
    • Entonces, ¿por qué no solo ver la respuesta correcta? Desbordamiento de la pila no debe ser utilizado para poner sus conjeturas como las RESPUESTAS. Si usted no sabe cómo responder a la pregunta correctamente, entonces no hay que escribir una respuesta. Ahora, cuando alguien viene a esta página, tienen que saber ignorar su respuesta equivocada y buscando mejores. Esta es la razón por la que está siendo votada abajo.
    • Su ur opinión.
    • Sólo quería aportar mi amigo, en mi caso este trabajado y me comentó que para él. Por CIERTO, si es malo usar 2 y 1, entonces ¿por qué el infierno existe.?
    • Existe porque es la materia prima de valor que se asigna a la estática de las constantes definidas en LinearLayout como @StealthRabbi señaló. Sin embargo, usted debe nunca utilizar dichos valores.

Dejar respuesta

Please enter your comment!
Please enter your name here