Coder Social home page Coder Social logo

problem my recyclerview about recordview HOT 11 CLOSED

3llomi avatar 3llomi commented on July 19, 2024
problem my recyclerview

from recordview.

Comments (11)

3llomi avatar 3llomi commented on July 19, 2024

Hi @drsoosmar .
i did not get what do you mean , can you please be more descriptive?

from recordview.

smartmob021 avatar smartmob021 commented on July 19, 2024

Look At This :
http://s9.picofile.com/file/8374011876/22.jpg

When I add this library to the project
That's the problem

from recordview.

3llomi avatar 3llomi commented on July 19, 2024

maybe there is something wrong in your xml, can you post your xml ?

from recordview.

smartmob021 avatar smartmob021 commented on July 19, 2024

http://s9.picofile.com/file/8374040468/private_messanger.xml.html

after remove library RecordView , Problem fixed

from recordview.

3llomi avatar 3llomi commented on July 19, 2024

PLEASE post your xml here

from recordview.

smartmob021 avatar smartmob021 commented on July 19, 2024

`

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/toolbar"
    android:layout_above="@+id/key_include">

    <ir.smartmob.smartapp.Loading.MKLoader
        android:id="@+id/load_messages_progress"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"/>

    <TextView
        android:id="@+id/messanger_empty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="هیچ پیامی وجود ندارد"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />

</RelativeLayout>


<androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:elevation="6dp"
    android:paddingTop="21dp"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:background="@drawable/bk_toolbar"
    app:contentInsetLeft="0dp"
    app:contentInsetStart="0dp" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_marginRight="10dp"
        android:layout_marginLeft="10dp">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="5dp"
            android:paddingTop="5dp">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_alignTop="@+id/row_messages_he_avatar"
                android:layout_alignBottom="@+id/row_messages_he_avatar"
                android:src="@drawable/ic_more_white"
                android:layout_centerVertical="true"
                android:id="@+id/messages_more"/>

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/ic_back"
                android:layout_alignParentRight="true"
                android:layout_alignTop="@+id/row_messages_he_avatar"
                android:layout_alignBottom="@+id/row_messages_he_avatar"
                android:layout_centerVertical="true"
                android:id="@+id/messages_back"/>

            <com.makeramen.roundedimageview.RoundedImageView
                android:id="@+id/row_messages_he_avatar"
                android:layout_width="?attr/actionBarSize"
                android:layout_height="?attr/actionBarSize"
                android:src="@mipmap/load_pics_dayere"
                android:scaleType="fitXY"
                app:riv_corner_radius="50dip"
                app:riv_border_width="3dip"
                app:riv_oval="false"
                app:riv_border_color="#fff"
                android:layout_toLeftOf="@+id/messages_back"
                android:layout_marginRight="8dp"/>

            <ImageView
                android:id="@+id/messages_mute"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toLeftOf="@+id/row_messages_he_avatar"
                android:layout_alignTop="@+id/row_messages_he_username"
                android:layout_alignBottom="@+id/row_messages_he_username"
                android:layout_marginRight="2dp"
                android:visibility="gone"
                android:src="@drawable/ic_mute_noti"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:id="@+id/row_messages_he_username"
                android:singleLine="true"
                android:gravity="right"
                android:layout_toRightOf="@+id/messages_more"
                android:textSize="14sp"
                android:textAppearance="@style/TextAppearance.FontPath"
                android:layout_marginLeft="3dp"
                android:layout_toLeftOf="@+id/messages_mute"
                android:layout_marginRight="4dp"
                android:textColor="#fff"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/row_messages_he_online"
                android:textSize="12sp"
                android:text="درحال بارگذاری ..."
                android:singleLine="true"
                android:gravity="right"
                android:layout_toRightOf="@+id/messages_more"
                android:layout_marginLeft="3dp"
                android:layout_toLeftOf="@+id/row_messages_he_avatar"
                android:layout_marginRight="4dp"
                android:layout_marginTop="5dp"
                android:layout_below="@+id/row_messages_he_username"
                android:textColor="#fff"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/typing"
                android:text="در حال نوشتن ..."
                android:singleLine="true"
                android:gravity="right"
                android:visibility="gone"
                android:layout_toRightOf="@+id/messages_more"
                android:layout_marginLeft="3dp"
                android:layout_toLeftOf="@+id/row_messages_he_avatar"
                android:layout_marginRight="4dp"
                android:layout_marginTop="5dp"
                android:layout_below="@+id/row_messages_he_username"
                android:textColor="#fff"/>

        </RelativeLayout>

        <LinearLayout
            android:id="@+id/music_player_laye"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:visibility="gone"
            android:orientation="vertical">

            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="@drawable/khat2"/>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="5dp">

                <ImageView
                    android:id="@+id/music_player_cancel"
                    android:layout_width="20dp"
                    android:layout_height="20dp"
                    android:src="@drawable/ic_cancel"
                    android:layout_centerVertical="true"
                    android:layout_alignParentRight="true"/>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:layout_marginRight="10dp"
                    android:layout_centerVertical="true"
                    android:layout_toLeftOf="@+id/music_player_cancel">

                    <TextView
                        android:id="@+id/music_player_name"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:textColor="#ffffff"
                        android:layout_marginBottom="3dp"
                        android:textSize="12sp"
                        android:text="اسم فایل"/>

                    <SeekBar
                        android:id="@+id/music_player_prog"
                        style="?android:attr/progressBarStyleHorizontal"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:indeterminateDrawable="@drawable/prog_color3"
                        android:thumb="@drawable/custom_thumb_progress2"
                        android:progress="0" />

                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="3dp">

                        <TextView
                            android:id="@+id/music_player_time1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:textColor="#ffffff"
                            android:textSize="10sp"
                            android:text="00:00"/>

                        <TextView
                            android:id="@+id/music_player_time2"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:textColor="#ffffff"
                            android:layout_alignParentRight="true"
                            android:textSize="10sp"
                            android:text="00:00"/>

                    </RelativeLayout>

                </LinearLayout>

            </RelativeLayout>

        </LinearLayout>

    </LinearLayout>
</androidx.appcompat.widget.Toolbar>

<androidx.recyclerview.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/list_messages"
    android:layout_below="@+id/toolbar"
    android:layout_above="@+id/key_include"/>



<com.melnykov.fab.FloatingActionButton
    android:id="@+id/go_to_dw"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_marginRight="@dimen/fab_margin"
    android:layout_marginBottom="6dp"
    android:layout_alignParentRight="true"
    android:layout_above="@+id/key_include"
    android:src="@drawable/ic_down" />

<include
    android:id="@+id/key_include"
    layout="@layout/keyboard"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"/>

`

from recordview.

smartmob021 avatar smartmob021 commented on July 19, 2024

Layout Keyboard :

`

<LinearLayout
    android:id="@+id/keyboard"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

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

        <androidx.cardview.widget.CardView
            android:id="@+id/keyboard_chat"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_margin="5dp"
            app:cardElevation="8dp"
            app:cardCornerRadius="25dp">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center">

                <ImageView
                    android:id="@+id/keyboad_send"
                    android:layout_width="49dp"
                    android:layout_height="49dp"
                    android:padding="15dp"
                    android:layout_marginTop="3dp"
                    android:layout_marginBottom="3dp"
                    android:layout_marginRight="3dp"
                    android:layout_alignBottom="@+id/keyboard_chat_laye"
                    android:layout_alignParentRight="true"
                    android:src="@drawable/ic_send"
                    android:visibility="invisible"
                    android:elevation="1dp"
                    android:background="@drawable/keyboard_send_bk"/>

                <ir.smartmob.smartapp.RecorderView.RecordButton
                    android:id="@+id/keyboard_voice"
                    android:layout_width="47dp"
                    android:layout_height="47dp"
                    android:background="@drawable/keyboard_send_bk"
                    android:layout_alignBottom="@+id/keyboard_chat_laye"
                    android:layout_marginTop="3dp"
                    android:layout_marginBottom="3dp"
                    android:layout_marginRight="3dp"
                    android:layout_alignParentRight="true"
                    android:scaleType="centerInside"
                    android:elevation="1dp"
                    app:mic_icon="@drawable/ic_keyboard_voice" />

                <LinearLayout
                    android:id="@+id/keyboard_chat_laye"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:layout_centerVertical="true"
                    android:gravity="center"
                    android:layout_toLeftOf="@+id/keyboad_send">

                    <RelativeLayout
                        android:id="@+id/reply_laye"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:background="#ffffff"
                        android:layout_margin="8dp"
                        android:visibility="gone"
                        android:padding="5dp">

                        <ImageView
                            android:id="@+id/reply_khat"
                            android:layout_width="3dp"
                            android:layout_height="match_parent"
                            android:background="@color/colorPrimary"
                            android:layout_alignParentRight="true"
                            android:layout_alignTop="@+id/reply_username"
                            android:layout_alignBottom="@+id/reply_text"/>

                        <TextView
                            android:id="@+id/reply_username"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginRight="10dp"
                            android:singleLine="true"
                            android:gravity="right"
                            android:layout_toRightOf="@+id/reply_close"
                            android:layout_marginLeft="5dp"
                            android:textColor="@color/colorPrimary"
                            android:text="نام کاربری"/>

                        <TextView
                            android:id="@+id/reply_text"
                            android:layout_below="@+id/reply_username"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:singleLine="true"
                            android:gravity="right"
                            android:layout_toRightOf="@+id/reply_close"
                            android:layout_marginLeft="5dp"
                            android:layout_marginRight="10dp"
                            android:text="متن"/>

                        <ImageView
                            android:id="@+id/reply_close"
                            android:layout_width="20dp"
                            android:layout_height="20dp"
                            android:src="@drawable/ic_close_keyboard"/>

                    </RelativeLayout>

                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:padding="8dp">


                        <EditText
                            android:id="@+id/keyboard_text"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_centerVertical="true"
                            android:layout_marginLeft="10dp"
                            android:layout_marginRight="10dp"
                            android:maxLines="4"
                            android:lineSpacingExtra="4dp"
                            android:layout_toRightOf="@+id/keyboad_media"
                            android:background="@android:drawable/screen_background_light_transparent"
                            android:hint="متن شما" />

                        <ImageView
                            android:id="@+id/keyboad_media"
                            android:layout_width="25dp"
                            android:layout_height="25dp"
                            android:layout_margin="5dp"
                            android:layout_centerVertical="true"
                            android:layout_toRightOf="@+id/keyboad_stickers"
                            android:src="@drawable/ic_keyboard_media" />

                        <ImageView
                            android:id="@+id/keyboad_stickers"
                            android:layout_width="25dp"
                            android:layout_height="25dp"
                            android:layout_margin="5dp"
                            android:layout_alignParentLeft="true"
                            android:layout_centerVertical="true"
                            android:src="@drawable/ic_keyboard_ic_emoji" />

                    </RelativeLayout>

                </LinearLayout>

                <ir.smartmob.smartapp.RecorderView.RecordView
                    android:id="@+id/record_view"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    app:slide_to_cancel_arrow="@drawable/recv_ic_arrow"
                    app:slide_to_cancel_arrow_color="#000000"
                    app:slide_to_cancel_bounds="20dp"
                    app:slide_to_cancel_margin_right="10dp"
                    app:slide_to_cancel_text="جهت انصراف بکشید به چپ"
                    android:layout_toLeftOf="@+id/keyboad_send"
                    app:counter_time_color="#ff0000"
                    />

            </RelativeLayout>



        </androidx.cardview.widget.CardView>

    </RelativeLayout>

    <LinearLayout
        android:id="@+id/keyboard_laye1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:visibility="gone">

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

            <LinearLayout
                android:id="@+id/keyboard_stickers_bk"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="30dp">

                    <TextView
                        android:id="@+id/keyboad_shop"
                        android:layout_width="wrap_content"
                        android:layout_height="25dp"
                        android:gravity="center"
                        android:layout_marginRight="2dp"
                        android:layout_centerVertical="true"
                        android:paddingLeft="5dp"
                        android:paddingRight="5dp"
                        android:paddingTop="1dp"
                        android:paddingBottom="1dp"
                        android:textSize="12sp"
                        android:background="@drawable/bk_shop_keyboard"
                        android:layout_alignParentRight="true"
                        android:drawableLeft="@drawable/ic_shop_keyboard"
                        android:text="فروشگاه استیکر  "
                        android:textColor="#BE56E0" />

                    <ir.smartmob.smartapp.MaterialTabs.MaterialTabHost
                        android:id="@+id/keyboard_stickers_tab"
                        android:layout_width="match_parent"
                        android:layout_height="30dp"
                        android:layout_toLeftOf="@+id/keyboad_shop"
                        android:layout_centerVertical="true"
                        app:accentColor="@color/colorPrimary"
                        app:hasIcons="true" />

                    <TextView
                        android:id="@+id/keyboad_empty_stickers"
                        android:layout_width="match_parent"
                        android:layout_height="30dp"
                        android:layout_toLeftOf="@+id/keyboad_shop"
                        android:layout_centerVertical="true"
                        android:gravity="center"
                        android:visibility="gone"
                        android:text="استیکری وجود ندارد!"
                        android:textColor="#3F51B5" />

                </RelativeLayout>

                <androidx.viewpager.widget.ViewPager
                    android:id="@+id/keyboard_stickers_pager"
                    android:layout_width="match_parent"
                    android:layout_height="200dp" />

            </LinearLayout>

            <LinearLayout
                android:id="@+id/keyboard_emojis_bk"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <ir.smartmob.smartapp.MaterialTabs.MaterialTabHost
                    android:id="@+id/keyboard_emojis_tab"
                    android:layout_width="match_parent"
                    android:layout_height="30dp"
                    app:accentColor="@color/colorPrimary"
                    app:hasIcons="true" />

                <androidx.viewpager.widget.ViewPager
                    android:id="@+id/keyboard_emojis_pager"
                    android:layout_width="match_parent"
                    android:layout_height="200dp" />

            </LinearLayout>

        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/keyboard_laye_dw_bk"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">


            <ImageView
                android:id="@+id/keyboard_laye_dw_stickers"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:padding="10dp"
                android:src="@drawable/ic_keyboard_ic_stickers" />


            <ImageView
                android:id="@+id/keyboard_laye_dw_delete"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:padding="10dp"
                android:src="@drawable/ic_keyboard_ic_delete" />


            <ImageView
                android:id="@+id/keyboard_laye_dw_emojis"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:padding="10dp"
                android:src="@drawable/ic_keyboard_ic_emoji_enable" />


        </RelativeLayout>

    </LinearLayout>




    <LinearLayout
        android:id="@+id/keyboard_laye2"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:visibility="gone"
        android:orientation="vertical">

        <androidx.cardview.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="5dp"
            app:cardCornerRadius="25dp">


            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="horizontal"
                android:gravity="center">

                <LinearLayout
                    android:id="@+id/keyboard_attach_gallery"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_margin="5dp"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:layout_gravity="center"
                        android:src="@drawable/attach_gallery"/>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="5dp"
                        android:text="ارسال تصویر"
                        android:textColor="#702A8C"
                        android:gravity="center"
                        android:layout_gravity="center"/>

                </LinearLayout>

                <LinearLayout
                    android:id="@+id/keyboard_attach_document"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_margin="5dp"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:layout_gravity="center"
                        android:src="@drawable/attach_document"/>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="5dp"
                        android:text="ارسال فایل"
                        android:gravity="center"
                        android:textColor="#5157AE"
                        android:layout_gravity="center"/>

                </LinearLayout>

            </LinearLayout>


        </androidx.cardview.widget.CardView>

    </LinearLayout>



</LinearLayout>

`

from recordview.

smartmob021 avatar smartmob021 commented on July 19, 2024

While the I change color status bar By this Code :

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = activity.getWindow(); Drawable background = activity.getResources().getDrawable(R.drawable.bk_toolbar); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(activity.getResources().getColor(android.R.color.transparent)); window.setNavigationBarColor(activity.getResources().getColor(android.R.color.transparent)); window.setBackgroundDrawable(background); }else { activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); }

from recordview.

Parag2385 avatar Parag2385 commented on July 19, 2024

@drsoosmar Did you solve this issue? I'm having a similar kind of issue, my toolbar behaves unexpectedly if used this library.

from recordview.

jaypatoliya56 avatar jaypatoliya56 commented on July 19, 2024

problem solved use my method

take relative layout as root

  1. recycler view
  2. bottom library record view
  3. toolbar

In short, add your toolbar at the last problem will be fixed.

from recordview.

Tarikmnk avatar Tarikmnk commented on July 19, 2024

problem solved use my method

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintBottom_toTopOf="@+id/containerChatEdittext"
        app:layout_constraintTop_toBottomOf="@+id/includeToolbar">

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/rvChatting"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginBottom="@dimen/appMargin"
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:orientation="vertical"
            app:layoutManager="androidx.recyclerview.widget.StaggeredGridLayoutManager"
            app:reverseLayout="true"
            tools:itemCount="20"
            tools:listitem="@layout/widget_message"
            tools:visibility="visible" />

    </RelativeLayout>

and thank you for this library..

from recordview.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.