Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to set height of relative layout dynamically in android

This is working fine on emulator but not on the devices because I have hard coded the height to 365. Can anyone help me in this regard?

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

Thanks.

like image 592
Naveed Rafi Avatar asked Jan 21 '11 07:01

Naveed Rafi


People also ask

How do I find the height and width of RelativeLayout in android programmatically?

private int width, height; RelativeLayout rlParent = (RelativeLayout) findViewById(R. id. rlParent); w = rlParent. getWidth(); h = rlParent.

When to use RelativeLayout?

A RelativeLayout is a very powerful utility for designing a user interface because it can eliminate nested view groups and keep your layout hierarchy flat, which improves performance. If you find yourself using several nested LinearLayout groups, you may be able to replace them with a single RelativeLayout .

What is RelativeLayout in Android?

A RelativeLayout is a ViewGroup that displays child view in a relative position. The position of each view can be relative to the sibling, (like on the left or below another view), or relative to the position of the main area of the relative layout, like bottom, left, or center.


1 Answers

You can change the layout height dynamically through different ways-----

First,

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

Secondly,

 first_tab.setHeight(int pixels);

Try using anyone of the way.......

like image 150
Nikki Avatar answered Oct 25 '22 04:10

Nikki