I planned to use different font size for the textview on different device size so as to make the letters legible. I have already decided not to use different layouts for different devices and built a common layout to fit in all the devices. Now the only problem is on the text size.
Questions :
I would like to have your technical suggestions on how to alter the font size based on the size (the physical size) of the device.
How to derive the font size based on the aspect ratio.
Any Flaws in using this kind of approach ?
Xml for the text view
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:orientation="vertical">
<TextView
android:id="@+id/tvValue4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="I planned to use different font size for the textview on different device size so as to make the letters legible. I have already decided not to use different layouts for different devices and built a common layout to fit in all the devices. Now the only problem is on the text size."
android:textColor="#000000"
android:textSize="15sp" />
</LinearLayout>
Thanks in advance
for this issue I am using following library in so many projects and believe this is fantastic. No need to worry about screens. But again you need to create separate layouts for tabs.
https://github.com/intuit/sdp
Based on screen size change 5f to whatever you want.
http://developer.android.com/guide/practices/screens_support.html. Check the topic under heading Best Practices.
Try this, Add this attribute in your xml. It will adjust textsize based on screensize try it.
For font sizes use scale pixels (sp). Android will scale the font size accordingly depending on the device density. Above posts have a better explanation and the reasoning.
Android has built in facilities for this- dp and sp. dp is device pixels. It basically is 1dp=1/160th of an inch. This allows you to specify the height of the font in real world size. Sp is scaled pixels. This size scales based on the default font size, so a user can scale up his system font and your app will match it. Handy for people with sight problems who need big text, while not taking up screen real estate for others.
You should probably be using one or the other of these.
Yes, this approach is flawed. Android devices have different sizes, but they can also have very different densities as well.
You should just be following the Android design best practices.
They're actually very well thought out. Why would you want to reinvent the wheel?