In my application, i am creating a date view using the below code. I have to create these date UI elements multiple times to make a calender like tabular UI. I am using GridLayoutManager and RecycleView to create the entire view which will look like a month. When UI is loaded all the textviews in the UI still shows the big in big font. How i can shrink the text proportionally? Do i have to adjust the font programmatically or is there a way i can adjust the content to fit/scale accroding to available UI?
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.myApps.app1.calendarDayViewFragment">
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/cardview_light_background"
        tools:context="com.myApps.app1.monthDetailedDayViewFragment"
        android:id="@+id/layout_detailed_day_view">
        <LinearLayout android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentStart="true">
            <!-- Section Row 2 -->
            <LinearLayout android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/linear_layout_section_1">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="row_text_1_1"
                    android:textAlignment="textStart"
                    android:id="@+id/textView_day_information_row_1_1"
                    android:textStyle="normal|bold"
                    android:textSize="16sp"
                    android:textColor="@color/colorPrimary" />
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="row_text_1_2"
                    android:id="@+id/textView_day_information_row_1_2"
                    android:textStyle="normal|bold"
                    android:textSize="16sp"
                    android:gravity="right"
                    android:textColor="@color/colorPrimary" />
            </LinearLayout>
            <!-- Section Row 2 -->
            <LinearLayout android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/linear_layout_section_2" >
            <LinearLayout android:orientation="vertical"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:id="@+id/linear_layout_section_2_1"
                android:layout_weight="1" >
                <!-- Next to Big TEXT, row 1 -->
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Section_2_text_row_1"
                    android:textAlignment="textStart"
                    android:id="@+id/textView_day_information1"
                    android:textStyle="normal|bold"
                    android:textSize="16sp"
                    android:textColor="@color/colorPrimary" />
                <!-- Next to Big TEXT, row 2 -->
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Section_2_text_row_2"
                    android:textAlignment="textStart"
                    android:id="@+id/textView_day_information2"
                    android:textStyle="normal|bold"
                    android:textSize="16sp"
                    android:textColor="@color/colorPrimary" />
                <!-- Next to Big TEXT, row 3 -->
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Section_2_text_row_3"
                    android:textAlignment="textStart"
                    android:id="@+id/textView_day_information3"
                    android:textStyle="normal|bold"
                    android:textSize="16sp"
                    android:textColor="@color/colorPrimary" />
                <!-- Next to Big TEXT, row 4 -->
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Section_2_text_row_4"
                    android:textAlignment="textStart"
                    android:id="@+id/textView_day_information4"
                    android:textStyle="normal|bold"
                    android:textSize="16sp"
                    android:textColor="@color/colorPrimary" />
                <!-- Next to Big TEXT, row 5 -->
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Section_2_text_row_5"
                    android:textAlignment="textStart"
                    android:id="@+id/textView_day_information5"
                    android:textStyle="normal|bold"
                    android:textSize="16sp"
                    android:textColor="@color/colorPrimary" />
            </LinearLayout>
            <LinearLayout android:orientation="horizontal"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:id="@+id/linear_layout_section_2_2"
                android:layout_weight="1">
                <!-- Big Text -->
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:text="१०"
                    android:id="@+id/calendar_day_header"
                    android:textStyle="normal|bold"
                    android:textSize="140dp"
                    android:textColor="@color/colorPrimary"
                    android:gravity="right" />
            </LinearLayout>
        </LinearLayout>
            <!-- Section Row 3 -->
            <LinearLayout android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/linear_layout_section_3">
            <LinearLayout android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/linear_layout_section_3_1">
                <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="text_row_3_1"
                android:id="@+id/textView_information_row_3_1"
                android:textStyle="normal|bold"
                android:textSize="16sp"
                android:gravity="right"
                android:textColor="@color/colorPrimary" />
                <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="text_row_3_2"
                android:id="@+id/textView_information_row_3_2"
                android:textStyle="normal|bold"
                android:textSize="16sp"
                android:gravity="right"
                android:textColor="@color/colorPrimary" />
            </LinearLayout>
        <LinearLayout android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/linear_layout_section_3_2">
            <ImageView
                android:layout_width="32dp"
                android:layout_height="32dp" android:src="@drawable/ic_image1"
                android:layout_alignParentRight="true"
                android:layout_gravity="right"/>
        </LinearLayout>
    </LinearLayout>
        </LinearLayout>
    </RelativeLayout>
</FrameLayout>
Here is the RecycleView code:
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
                            android:id="@+id/recyclerview_mothly_dates"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:scrollbars="vertical"
                            android:background="@android:color/holo_green_light" >
                        </android.support.v7.widget.RecyclerView>
Thanks, IamHuM
                        
You can add this library to your gradle file
compile 'com.intuit.sdp:sdp-android:1.0.3'
All you need to do is: add android:textSize="@dimen/_13sdp"
You have to use sdp instead of dp, this will automatically scale your textView or any other View according to the dimension that is required by any device irrespective of its size.
hope this solves your problem.