¿Cambiar dinámicamente el número de columna en android gridview?

Mi aplicación muestra el ícono de imagen en vista de cuadrícula en orientación horizontal. Para eso uso el xml como

<GridView
    android:id="@+id/gridview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:numColumns="4"
    android:columnWidth="100px"
    android:stretchMode="columnWidth"
    android:gravity="center"/>

Para la orientación vertical, quiero mostrar solo el icono de dos imágenes en la columna de vista de cuadrícula. ¿Cómo hacerlo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta