2011-01-21 12 views
5

Działa to dobrze na emulatorze, ale nie na urządzeniach, ponieważ mam mocno zakodowany wysokość do 365. Czy ktoś może mi pomóc w tym zakresie?jak ustawić wysokość względnego układu dynamicznie w Androidzie

<?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> 

Dzięki.

Odpowiedz

15

można dynamicznie zmieniać wysokość układu poprzez różne sposoby -----

Najpierw

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

drugie,

first_tab.setHeight(int pixels); 

Spróbuj użyć każdego sposobu. ......

6

Nie powinieneś używać px, zamiast tego użyj dp.

android:layout_height="365dp" 

Mają odczytu here, aby wiedzieć Gęstość niezależna pikseli (dp) lepszego.

Korzystanie jednostki DP zdefiniowanie interfejsu danej aplikacji jest wysoce zalecany, jako sposób zapewnienia prawidłowe wyświetlanie swojej UI na różnych ekranów.

Powiązane problemy