Aerrow
Aerrow

Reputation: 12134

How can i write this layout code in my Android Activity?

I wish to create a custom layout out for my sample application. Previously i used the xml layout for User interface, but now i wish to create the application using custom (without using xml layout). I used the below code in my xml, but i change this xml layout to custom code i can't implement (i don't have knowledge how to do this). How can i write this layout code in my Activity?. Any one could you please help me to solve this. Thanks in advance.

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

    <ScrollView
        android:id="@+id/webviewscroll"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <LinearLayout
            android:id="@+id/webviewlinear"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical" >

            <RelativeLayout
                android:id="@+id/webviewframe1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >

                <WebView
                    android:id="@+id/webview1"
                    android:layout_width="fill_parent"
                    android:layout_height="350dp"
                    android:layout_alignParentBottom="true"
                    android:layout_marginBottom="10dp"
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_marginTop="20dp" >
                </WebView>

                <ImageView
                    android:id="@+id/webviewimage1"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:background="@drawable/one" >
                </ImageView>
            </RelativeLayout>

            <RelativeLayout
                android:id="@+id/webviewframe2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >

                <WebView
                    android:id="@+id/webview2"
                    android:layout_width="fill_parent"
                    android:layout_height="350dp"
                    android:layout_alignParentBottom="true"
                    android:layout_marginBottom="10dp"
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="10dp"
                    android:layout_marginTop="20dp" >
                </WebView>

                <ImageView
                    android:id="@+id/webviewimage2"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:background="@drawable/two" >
                </ImageView>
            </RelativeLayout>
        </LinearLayout>
    </ScrollView>

</LinearLayout>

Upvotes: 0

Views: 111

Answers (2)

Paresh Mayani
Paresh Mayani

Reputation: 128428

As you want to create layout at run-time, you can do this way:

RelativeLayout layout1 = new RelativeLayout(this);
ImageView imgView1 = new imgView1(this);
layout1.addView(imgView1);   // added ImageView into the RelativeLayout

do this kind of process for creating and adding widgets.

Upvotes: 1

Dhruvil Patel
Dhruvil Patel

Reputation: 2930

LinearLayout ll1,ll2;
    ScrollView sv = new ScrollView(this);
    RelativeLayout rl1,rl2;
    WebView wv1,wv2;
    ImageView iv1,iv2;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        int LHeightWrap = LinearLayout.LayoutParams.WRAP_CONTENT;
        int LWidthWrap = LinearLayout.LayoutParams.WRAP_CONTENT;

        int LHeightFill = LinearLayout.LayoutParams.FILL_PARENT;
        int LWidthFill = LinearLayout.LayoutParams.FILL_PARENT;

        int RHeightWrap = RelativeLayout.LayoutParams.WRAP_CONTENT;
        int RWidthWrap = RelativeLayout.LayoutParams.WRAP_CONTENT;

        int RHeightFill = RelativeLayout.LayoutParams.FILL_PARENT;
        int RWidthFill = RelativeLayout.LayoutParams.FILL_PARENT;



        wv1 = new WebView(this);
        iv1 = new ImageView(this);

        rl1.addView(wv1,RWidthWrap,RHeightWrap);
        rl1.addView(iv1,RWidthWrap,RHeightWrap);

        wv2 = new WebView(this);
        iv2 = new ImageView(this);

        rl2.addView(wv2,RWidthWrap,RHeightWrap);
        rl2.addView(iv2,RWidthWrap,RHeightWrap);

        ll2.addView(rl1);
        ll2.addView(rl2);

        sv.addView(ll2);

        ll1.addView(ll2);

You can do somthing like this. You can also set properties of any component using native code.

Upvotes: 0

Related Questions