2011-01-21 31 views
5

Điều này hoạt động tốt trên trình mô phỏng nhưng không hoạt động trên thiết bị vì tôi đã mã hóa chiều cao lên 365. Bất kỳ ai có thể giúp tôi về vấn đề này không?cách thiết lập chiều cao bố cục tương đối động trong android

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
<TabHost android:id="@+id/tab_host" 
    android:layout_width="fill_parent" android:layout_height="fill_parent"> 
    <TabWidget android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:id="@android:id/tabs" 
     android:layout_gravity="bottom"/> 
     <FrameLayout android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" android:layout_height="fill_parent"> 
      <RelativeLayout android:id="@+id/first_tab" 
       android:orientation="vertical" android:layout_width="fill_parent" 
       android:layout_height="365px"> 
       <WebView xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@+id/webview" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"/> 
        <ImageView 
         android:id="@+id/widget31" 
         android:layout_width="fill_parent" 
         android:layout_height="49px" 
         android:layout_x="0px" 
         android:layout_y="0px" 
         android:background="#39000000" 
         android:layout_alignParentBottom="true"> 
        </ImageView> 
        <ImageButton 
         android:id="@+id/btnFB" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/fb" 
         android:background="#00000000" 
         android:layout_alignRight="@+id/widget31" 
         android:layout_alignParentBottom="true"> 
        </ImageButton> 
        <TextView 
         android:id="@+id/myTextView1" 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:text="Share" 
         android:textColor="#111111" 
         android:textSize="14pt" 
         android:paddingBottom="5px" 
         android:layout_alignLeft="@+id/widget31" 
         android:layout_alignParentBottom="true"/> 
         <ImageButton 
          android:id="@+id/btnTwitter" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:src="@drawable/twitter" 
          android:visibility="invisible" 
          android:background="#00000000" 
          android:layout_alignRight="@+id/widget31" 
          android:layout_alignParentBottom="true"> 
         </ImageButton> 
      <!-- Replace TextView with your layout content for this tab --> 
      </RelativeLayout> 
      <LinearLayout android:id="@+id/second_tab" 
       android:orientation="vertical" android:layout_width="fill_parent" 
       android:layout_height="fill_parent"> 
       <ScrollView 
        android:id="@+id/ScrollView01" 
        android:layout_height="365px" 
        android:layout_width="fill_parent"> 
        <WebView xmlns:android="http://schemas.android.com/apk/res/android" 
         android:id="@+id/webviewForRSS" 
         android:layout_width="fill_parent" 
         android:layout_height="365px" 
         android:background="#98012E"/> 
       </ScrollView> 
      <!-- Replace TextView with your layout content for this tab --> 
      </LinearLayout> 
      <LinearLayout android:id="@+id/edit_item_text_tab" 
       android:orientation="vertical" android:layout_width="fill_parent" 
       android:layout_height="fill_parent"/> 
      </FrameLayout> 
    </TabHost> 
</RelativeLayout> 

Cảm ơn.

Trả lời

15

Bạn có thể thay đổi chiều cao bố trí động thông qua nhiều cách khác nhau -----

Thứ nhất,

getLayoutParams().height= x; 
requestLayout(); or invalidate(); 

Thứ hai,

first_tab.setHeight(int pixels); 

Hãy thử sử dụng bất cứ ai trong đường đi. ......

6

Bạn không nên sử dụng px, sử dụng dp để thay thế.

android:layout_height="365dp" 

Đọc here, để biết Mật độ pixel độc lập (dp) tốt hơn.

Sử dụng đơn vị dp để xác định ứng dụng của bạn giao diện người dùng được đánh giá cao đề nghị, như một cách để đảm bảo hiển thị thích hợp của giao diện người dùng của bạn trên màn hình khác nhau.

Các vấn đề liên quan