Skip to main content

Supporting text size for all supporting devices for your Android Application

Add different dimens.xml files to support different font sizes for all supporting devices in your application..

First create different folders as below,

Under res folder create folders as ,

res/values/dimens.xml(default)

res/values-ldpi/dimens.xml (for ldpi devices)

res/values-mdpi/dimens.xml

res/values-hdpi/dimens.xml

res/values-xhdpi/dimens.xml  

res/values-xxhdpi/dimens.xml

For Tablets ,

res/values-sw600dp/dimens.xml (600*1024)

res/values-sw720dp-land/dimens.xml (800*1280)

Now Update dimens.xml for defining font sizes

dimens.xml file should have text size defined for all labels as below,

eg. Default value of footer text size will be 18 sp,

 <dimen name="text_size_footer">18sp</dimen>

eg. For tablet -> res/values-sw600dp

value of footer textsize will be 25 sp,

 <dimen name="text_size_footer">25sp</dimen>

Finally read it in a your layout,

<TextView
    android:id="@+id/lblFooter"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"          
    android:textSize=@dimens/text_size_footer
    android:textStyle="bold"
    android:typeface="serif" />
   

Comments

Popular posts from this blog

Launch an Android application on Bootup

If you want to start an android application on device restarts, you need to listen for BOOT_COMPLETED broadcast in the manifest file and launch the Launcher activity in onreceive of BOOT_COMPLETED broadcast receiver. Follow below steps to launch activity on device boot up :- 1. Register for Boot completed receiver in Android Manifest file. Add below Permission to receive BOOT_COMPLETED broadcast, <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> Register for Boot completed broadcast receiver , <receiver android:name="AppAutostartReceiver" android:enabled="true" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> 2. Add custom Broadcast receiver in the application, public class AppAutostartReceiver extends BroadcastReceiver { @Override public void onReceive(Context cont...

Adding Call log entries in Native Call Logs

While adding call logs we can set number in CallLog.Calls.NUMBER field , same for date  and duration. CallLog.Calls.CACHED_NAME will be filled with the cached name in case if the number is already saved in Contacts database. ContentValues values = new ContentValues(); values.put(CallLog.Calls.NUMBER, number); values.put(CallLog.Calls.DATE, System.currentTimeMillis()); values.put(CallLog.Calls.DURATION, 0); values.put(CallLog.Calls.TYPE, CallLog.Calls.OUTGOING_TYPE); //Type of call Outgoing/Incoming/Missed etc values.put(CallLog.Calls.NEW, 1); values.put(CallLog.Calls.CACHED_NAME, ""); values.put(CACHED_NUMBER_TYPE, 0); values.put(CACHED_NUMBER_LABEL, ""); this.getContentResolver().insert(CallLog.Calls.CONTENT_URI, values); Below Permissions are required to add call logs , add it in Manifest file, <uses-permission android:name="android.permission.WRITE_CALL_LOG"></uses-permission> <uses-permission android:name="android.perm...

Ways to define Singleton Classes

Singleton classes comes under "Creational design pattern", Singleton pattern restricts from creating multiple instances of the class,and ensure that only one object should be available in the JVM, there are different ways to implement singleton classes as below :- Ways to define Singleton classes :- 1. By defining the singleton class object as static final variable, this is known as early initialization of singleton object. public class SingletoneClassExample{ Private static final instance = new SingletoneClassExample(); // Define private constructor to avoid other classes from creating instance private SingletoneClassExample(){ } public static SingletoneClassExample getInstance(){         return instance;   } } By creating singleton class using above method the class object will be created at class loading itself, so if application is not using this class still the object will be created. 2. Define singleton class object on method call public clas...