-1

I have created this layout and want to be divided in two parts same of left and right side of the page. That have a scroll in that for scroll I want to use ListView Please help me on this I want left side independent scorll and the right side independent scroll

<?xml version="1.0" encoding="utf-8"?>
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="5dip" >

            <!--  ListRow Left sied Thumbnail image -->
            <LinearLayout android:id="@+id/thumbnail" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="3dip"      
                android:layout_alignParentLeft="true"
                android:orientation="vertical"
                android:layout_marginRight="5dip">

                <ImageView
                    android:id="@+id/if"
                    android:layout_width="50dip"
                    android:layout_height="42dp"
                    android:src="@drawable/ic_launcher" />

                <TextView
                    android:id="@+id/fc"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:textSize="12sp"
                    android:text=""
                    android:textStyle="bold" />
                <TextView
                    android:id="@+id/test"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:textSize="12sp"
                    android:text=""
                    android:textStyle="bold" />

            </LinearLayout>


            <TextView
                android:id="@+id/ty"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignTop="@+id/thumbnail"
                android:layout_toRightOf="@+id/thumbnail"
                android:text=""
                android:textColor="#040404"
                android:typeface="sans" 
                android:textSize="15dip"
                android:textStyle="bold"/>


            <TextView
                android:id="@+id/dd"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/flightTime"
                android:textColor="#343434"
                android:layout_marginTop="1dip"
                android:layout_toRightOf="@+id/thumbnail"
                android:text="" />

            <TextView
                android:id="@+id/cc"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/flightDuration"
                android:textColor="#343434"
                android:layout_marginTop="1dip"
                android:layout_toRightOf="@+id/thumbnail"
                android:text="" />

        </RelativeLayout>

This is my listView

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <ListView
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:divider="#b5b5b5"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_selector" />

</LinearLayout>

This is how i am trying to create the layout with the listview

http://s17.postimg.org/x1fcutey7/sample.png

Pankaj
  • 33
  • 8

2 Answers2

0

Use the android:numColumns="2" in your GridView widget

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/grid"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:numColumns="2"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:scrollbarStyle="outsideOverlay"
    android:verticalScrollbarPosition="right"
    android:scrollbars="vertical">
</GridView>
Hybrid Developer
  • 2,320
  • 1
  • 34
  • 55
0

Use a gridview with two columns. You will need to ad dividers and customize according to your needs.

MainActivity.java

public class MainActivity extends Activity {


/** Called when the activity is first created. */

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.test);
    GridView gv = (GridView) findViewById(R.id.grid);
    CustomAdapter adapter = new CustomAdapter(MainActivity.this);
    gv.setAdapter(adapter);

}
class CustomAdapter extends BaseAdapter
{
    LayoutInflater mInflater;
    public CustomAdapter(Context mainActivity) {
        // TODO Auto-generated constructor stub
        mInflater = (LayoutInflater) mainActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return 20;
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub ViewHolder holder; 
         ViewHolder holder;
        if (convertView == null) { 
            convertView = mInflater.inflate(R.layout.row, 
                    parent, false);
            holder = new ViewHolder();
            holder.iv = (ImageView) convertView.findViewById(R.id.imageView1); 
            holder.tv1 = (TextView) convertView.findViewById(R.id.textView1); 
            holder.tv2 = (TextView) convertView.findViewById(R.id.textView2); 
            holder.tv3 = (TextView) convertView.findViewById(R.id.textView3); 
            holder.tv4 = (TextView) convertView.findViewById(R.id.textView4); 
           convertView.setTag(holder); 
       } else { 
           holder = (ViewHolder) convertView.getTag(); 
       } 

      // set data here

       return convertView; 

    }

}
static class ViewHolder
{
    ImageView iv;
    TextView tv1,tv2,tv3,tv4;
}
}

test.xml

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/grid"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:numColumns="2"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:scrollbarStyle="outsideOverlay"
    android:verticalScrollbarPosition="right"
    android:scrollbars="vertical">
</GridView>

row.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="17dp"
        android:layout_marginTop="14dp"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/imageView1"
        android:layout_marginLeft="43dp"
        android:layout_toRightOf="@+id/imageView1"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/imageView1"
        android:layout_alignLeft="@+id/textView1"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView2"
        android:layout_below="@+id/textView2"
        android:layout_marginTop="24dp"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView3"
        android:layout_alignBottom="@+id/textView3"
        android:layout_alignLeft="@+id/imageView1"
        android:text="TextView" />

</RelativeLayout>

snap shot

enter image description here

Edit:

If you want the left side and right side to scroll individually you will need two listviews. One for the left and one for the right. Have custom adapters for both the listviews.

Raghunandan
  • 132,755
  • 26
  • 225
  • 256
  • this is exactly what i wanted but i want the seprate scrolling on the left and right side – Pankaj Aug 06 '13 at 08:11
  • that is not possible with the above design. have you seen the google play market. – Raghunandan Aug 06 '13 at 08:12
  • scroll is coming on the complete page i want to be separate for the left and right side layout – Pankaj Aug 06 '13 at 08:12
  • @Pankaj with the above design its not possible. ignore this answer if it does not help. pls mention the same in your question about the left side independent scorll and the right side independent scroll. – Raghunandan Aug 06 '13 at 08:13
  • @Pankaj i am not sure but i guess this question was asked by another user gaurav. The snap shots looks similar to the flight one gaurav posted. seems strange to me.http://stackoverflow.com/questions/18054704/how-to-use-scroll-view-in-android. the snap shot was removed. question edited. – Raghunandan Aug 06 '13 at 08:59