2010-11-02 19 views

Respuesta

1

setLayoutParams (new LayoutParams (ancho, alto)); Espero que esto funcione

+1

Ya lo hice pero no funcionó. –

20

Tuve el mismo problema. Pero esto definitivamente debería funcionar, solo necesita verificar qué tipo de LaoutParams está configurando. Tuve el mismo problema porque estoy usando FrameLaoutPrams en lugar de LayoutParams. Que necesitaba para establecer de esta manera:

android.widget.FrameLayout.LayoutParams params = new android.widget.FrameLayout.LayoutParams(width, height); 
    surface.setLayoutParams(params); 
+0

Es una respuesta correcta (suponer que la superficie está envuelta en FrameLayout). También puede especificar la gravedad como parámetro 3 (por ejemplo Gravity.CENTER) –

1

Después de las clases de posibles LayoutParams, tal vez sea útil para alguien:

android.widget.TableRow.LayoutParams; 
android.widget.TableLayout.LayoutParams; 
android.widget.RelativeLayout.LayoutParams; 
android.widget.RadioGroup.LayoutParams; 
android.widget.GridLayout.LayoutParams; 
android.widget.Gallery.LayoutParams; 
android.widget.FrameLayout.LayoutParams; 
android.widget.AbsoluteLayout.LayoutParams; 
android.widget.AbsListView.LayoutParams; 
android.widget.LinearLayout.LayoutParams; 
android.view.ViewGroup.LayoutParams; 
android.app.ActionBar.LayoutParams; 
android.support.v4.view.ViewPager.LayoutParams; 
android.view.WindowManager.LayoutParams 
2

Ésta es la manera correcta de hacerlo:

surfaceView.getHolder().setFixedSize(width, height); 
Cuestiones relacionadas