2011-08-26 46 views
6

Tôi mới sử dụng Android.cách thay đổi chiều cao và chiều rộng của bố cục khung theo chương trình?

tôi phải đối mặt với một vấn đề mà là tôi đang bổ sung thêm cách bố trí khung hình để ứng dụng của tôi mã là

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <FrameLayout android:id="@+id/frameLayout1"> 
     <LinearLayout 
     android:layout_height="wrap_content" 
     android:id="@+id/linearLayout1" 
     android:layout_width="fill_parent"> 
     </LinearLayout> 
    </FrameLayout> 
</LinearLayout> 

Vấn đề của tôi là tôi muốn thay đổi chiều cao bố trí khung trong định hướng màn hình khác nhau

mẫu mã là

wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE); 

      getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

      Log.v("height","height"+wm.getDefaultDisplay().getHeight()); 

      if(wm.getDefaultDisplay().getHeight() <= 427) 
      { 
       Log.v("height","111"); 


((FrameLayout)findViewById(R.id.frameLayout1)).setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); 
     } 
     else 
     { 
      ((FrameLayout)findViewById(R.id.frameLayout1)).setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); 
     } 

Nhưng nó mang lại cho lực lượng chặt chẽ,

nếu có ai có ý tưởng xin hãy giúp tôi.

Xin cảm ơn trước.

Trả lời

0

Một cách là tạo chế độ xem tùy chỉnh và ghi đè các hàm onLayout và onMeasure. Trong hàm onLayout, bạn có thể ghi đè chiều rộng và chiều cao. Xem ví dụ về lớp LabelView.java here.

3

Bạn phải sử dụng LinearLayout.LayoutParams (int width, height int, float trọng lượng)

FrameLayout frameLayout = new FrameLayout(context); 
LinearLayout.LayoutParams layPra = new LinearLayout.LayoutParams(width,height,mWeight); 
layPra .gravity = Gravity.CENTER | Gravity.BOTTOM; 
frameLayout .setLayoutParams(layPra); 
Các vấn đề liên quan