-1

here is an xml code for a database application I want to make in andorid. The database table is large and contain 11 columns, and I want it to display in one view using both horizontal scrolling and vertical scrolling...in the code below I used Table layout, but for this i will have to write lot of backend code to display data..

I want to use gridview instead of the table layout I used...and it should be scrollable vertically and horizontly.can anyone help me on this??

Previously I used listview, but the problem was that in list view there is no way to maintain column arrangement...

<?xml version="1.0" encoding="utf-8"?>

                    <ScrollView
                        android:layout_width="match_parent"
                        android:layout_height="298dp"
                        android:id="@+id/scrollView5" >

                        <LinearLayout
                            android:orientation="vertical"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent">

                            <HorizontalScrollView
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:id="@+id/horizontalScrollView4" >

                                <TableLayout
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content">

                                    <TableRow
                                        android:layout_width="match_parent"
                                        android:layout_height="match_parent">

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="ID"
                                            android:id="@+id/txtview001" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Date"
                                            android:id="@+id/txtview002" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Item"
                                            android:id="@+id/txtview003" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Shade"
                                            android:id="@+id/txtview004" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Debtor"
                                            android:id="@+id/txtview005" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Price"
                                            android:id="@+id/txtview006" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Count"
                                            android:id="@+id/txtview007" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Quantity"
                                            android:id="@+id/txtview008" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="%comm"
                                            android:id="@+id/txtview009" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Total"
                                            android:id="@+id/txtview010" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Comm"
                                            android:id="@+id/txtview011" />

                                        <CheckBox
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="New CheckBox"
                                            android:id="@+id/checkBox" />

                                    </TableRow>

                                    <TableRow
                                        android:layout_width="match_parent"
                                        android:layout_height="match_parent" >

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa1" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa2" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa3" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa4" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa5" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa6" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa7" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa8" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa9" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa10" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/txtviewa11" />

                                        <CheckBox
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="New CheckBox"
                                            android:id="@+id/checkBox2" />
                                    </TableRow>

                                    <TableRow
                                        android:layout_width="match_parent"
                                        android:layout_height="match_parent" >

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView23" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView24" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView25" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView26" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView27" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView28" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView29" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView30" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView31" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView32" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView33" />

                                        <CheckBox
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="New CheckBox"
                                            android:id="@+id/checkBox3" />
                                    </TableRow>

                                    <TableRow
                                        android:layout_width="match_parent"
                                        android:layout_height="match_parent" >

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView34" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView35" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView36" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView37" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView38" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView39" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView40" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView41" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView42" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView43" />

                                        <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:textAppearance="?android:attr/textAppearanceLarge"
                                            android:text="Large Text"
                                            android:id="@+id/textView44" />

                                        <CheckBox
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="New CheckBox"
                                            android:id="@+id/checkBox4" />
                                    </TableRow>                              

         </TableLayout>
        </HorizontalScrollView>
    </LinearLayout>
</ScrollView>

ArK
  • 20,698
  • 67
  • 109
  • 136
Ibrahim Anjum
  • 11
  • 1
  • 5
  • 2
    Possible duplicate of [Android GridView with Both Horizontal and Vertical Scrolbars at the same time](http://stackoverflow.com/questions/16299633/android-gridview-with-both-horizontal-and-vertical-scrolbars-at-the-same-time) – jannej Aug 22 '16 at 18:04

2 Answers2

0

Finally, I figured out

here is the xml code:-

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

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="68dp">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button3" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button4"
            android:layout_marginLeft="90dp" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="62dp"
        android:weightSum="1">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button5" />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/editText"
            android:layout_weight="1.03" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button6"
            android:layout_marginLeft="0dp" />
    </LinearLayout>

    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="303dp"
        android:id="@+id/horizontalScrollView4" >

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <GridView
                android:layout_width="1091dp"
                android:layout_height="300dp"
                android:layout_alignParentLeft="true"

                android:id="@+id/gridView"
                android:numColumns="11"
                 />
        </LinearLayout>
    </HorizontalScrollView>
Ibrahim Anjum
  • 11
  • 1
  • 5
0

A better way would be to use a recycler view with a grid layout manager. To handle both vertical and horizontal scrolling you can use a HorizontalScrollView inside a ScrollView and keep your recycler view inside the HorizontalScrollView. The advantage with recycler view would be that it will only draw a limited set of views at a time which will be a great performance hack and with an adapter you will be able to handle and update each cell easiily. I wrote this quick code to show how this approach of scrolling can work.

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

    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

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

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dip">

                <TextView
                    android:layout_width="400dp"
                    android:layout_height="wrap_content"
                    android:text="rxdcgvbhjn"
                    android:textSize="100dp"
                    />

                <Button
                    android:layout_width="400dp"
                    android:text="Column 2"
                    android:textSize="100dp"/>
            </TableRow>

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dip">

                <TextView
                    android:layout_width="400dp"
                    android:layout_height="wrap_content"
                    android:text="rxdcgvbhjn"
                    android:textSize="100dp"
                    />

                <Button
                    android:id="@+id/button1"
                    android:layout_width="400dp"
                    android:text="Column 2"
                    android:textSize="100dp"/>
            </TableRow>

            <TableRow
                android:id="@+id/tableRow1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dip">

                <TextView
                    android:layout_width="400dp"
                    android:layout_height="wrap_content"
                    android:text="rxdcgvbhjn"
                    android:textSize="100dp"
                    />

                <Button
                    android:layout_width="400dp"
                    android:text="Column 2"
                    android:textSize="100dp"/>
            </TableRow>

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dip">

                <TextView
                    android:layout_width="400dp"
                    android:layout_height="wrap_content"
                    android:text="rxdcgvbhjn"
                    android:textSize="100dp"
                    />

                <Button
                    android:layout_width="400dp"
                    android:text="Column 2"
                    android:textSize="100dp"/>
            </TableRow>


        </TableLayout>

    </HorizontalScrollView>
</ScrollView> 
bpr10
  • 1,086
  • 8
  • 14
  • whats a recycler view?? why i don't have that in my android studio pallete?? – Ibrahim Anjum Aug 23 '16 at 07:59
  • Recycler view is a better version of list view which supports a lot of optimizations and features and it's a standard to use recycler view instead if listview.Please follow through tutorials on recycler view. https://realm.io/news/android-recycler-view/ – bpr10 Aug 23 '16 at 10:17
  • Please upvote the answer if you've found this useful. – bpr10 Aug 23 '16 at 11:03
  • my reputation is very low and i cant upvote currently...but I have marked your answer is the solution...Thanks – Ibrahim Anjum Aug 23 '16 at 12:10