如何在android中动态设置相对布局的高度

如何在android中动态设置相对布局的高度,android,layout,css-position,Android,Layout,Css Position,这在emulator上运行良好,但在设备上不起作用,因为我已将高度硬编码为365。在这方面有人能帮我吗 <?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" a

这在emulator上运行良好,但在设备上不起作用,因为我已将高度硬编码为365。在这方面有人能帮我吗

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


谢谢。

您不应该使用
px
,而应该使用
dp

android:layout_height="365dp"
读一读,更好地了解密度无关像素(dp)

使用dp单位定义您的 应用程序的UI非常友好 建议,作为确保 在不同屏幕上正确显示用户界面 屏幕


可以通过不同的方式动态更改布局高度-----

首先,

getLayoutParams().height= x;
requestLayout(); or invalidate(); 
第二,

 first_tab.setHeight(int pixels);
试着用任何一种方式