2010-11-02 35 views

Trả lời

1

setLayoutParams (bố cục mớiParams (chiều rộng, chiều cao)); tôi hy vọng điều này sẽ hoạt động

+1

tôi đã làm điều này nhưng không làm việc. –

20

Tôi đã gặp vấn đề tương tự. Nhưng điều này chắc chắn sẽ hoạt động, chỉ cần kiểm tra loại LaoutParams bạn đang thiết lập. Tôi đã có cùng một vấn đề bởi vì tôi đang sử dụng FrameLaoutPrams thay vì LayoutParams. Tôi cần thiết để thiết lập nó như thế này:

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

Đó là câu trả lời đúng (giả sử rằng bề mặt được bao bọc trong FrameLayout). Ngoài ra, bạn có thể chỉ định trọng lực như tham số 3-thứ (nói Gravity.CENTER) –

1

Sau khi loại possibles LayoutParams, có lẽ đó là hữu ích cho ai đó:

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

Đây là cách đúng đắn để làm điều đó:

surfaceView.getHolder().setFixedSize(width, height); 
Các vấn đề liên quan