Skip to main content

Deal with different screen sizes in android

Deal with different screen sizes
Android having capability to deal with different device screen size but we have to follow below rules for that 1) Ensure your layout can be adequately resized to fit the screen. 2) Providing appropriate UI layout according to screen configuration. 3) Ensuring the correct layout is applied to the correct screen. 4) Providing bitmaps that’s scale correctly.
ü  Use wrap content and match parent for flexible and adapts to different screen sizes.
By using wrap content and match parent we can achieve adaptive UI for multiple devices instead of hard coded values.
ü  Use relative layout, which is allows you to specify in terms of the special relation between components.
ü  Use size qualifiers, relative, adaptive & stretch UI is not enough in android in some cases we need to show different UI for different screen sizes like device require single pane and tablet require double pane UI in that case we have use for device is layout and tablet for layout-large.
ü  Use smallest width qualifier, in android had difficulty for developers before 3.2 for large screen size bin. Some applications wants to show different layout for 5 and 7 inches devices but it is categorized in large screen but now we can write smallest width qualifier using sw600dp.
ü  Use layout aliases, the smallest width qualifier is available on 3.2 and above, Therefore we still we have to use abstract size qualifier bin like small, normal, large and x-large. Suppose if we have to write single pane UI for then create UI for layout directory if we have to create two pane layout then below 3.2 we have to specify in layout-large directory, on 3.2 and above we can specify the layout in directory layout-sw600dp.
ü  Use orientation qualifiers, some layouts are works fine in both configurations like landscape and portrait mode but some time we need to show different layouts at that time we can specify small screen portrait, small screen landscape, 7 tablet portrait, 7 tablet landscape, 10 tablet portrait, 10 tablet landscape and TV landscape.
Use Nine patch image, supporting different screen sizes your resources are capable to adapting different screen sizes.

Comments

Popular posts from this blog

Custom camera using SurfaceView android with autofocus & auto lights & more

Custom camera using SurfaceView android with autofocus & auto lights & much more /**  * @author Tatyabhau Chavan  *  */ public class Preview extends SurfaceView implements SurfaceHolder.Callback {     private SurfaceHolder mHolder;     private Camera mCamera;     public Camera.Parameters mParameters;     private byte[] mBuffer;     private Activity mActivity;     // this constructor used when requested as an XML resource     public Preview(Context context, AttributeSet attrs) {         super(context, attrs);         init();     }     public Preview(Context context) {         super(context);         init();     }     public Camera getCamera() {         return this.mCamera;     }     public void init() {         // Install a SurfaceHolder.Callback so we get notified when the         // underlying surface is created and destroyed.         mHolder = getHolder();         mHolder.addCallback(this);         mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);     }     public

Get Android phone call history/log programmatically

Get Android phone call history/log programmatically To get call history programmatically first add read conact permission in Manifest file : <uses-permission android:name="android.permission.READ_CONTACTS" /> Create xml file. Add the below code in xml file : <Linearlayout android:layout_height="fill_parent"  android:layout_width="fill_parent" android:orientation="vertical"> <Textview android:id="@+id/call" android:layout_height="fill_parent" android:layout_width="fill_parent"> </Textview> </Linearlayout> Now call the getCallDetails() method in java class : private void getCallDetails() { StringBuffer sb = new StringBuffer(); Cursor managedCursor = managedQuery( CallLog.Calls.CONTENT_URI,null, null,null, null); int number = managedCursor.getColumnIndex( CallLog.Calls.NUMBER ); int type = managedCursor.getColumnIndex( CallLog.Calls.TYPE ); int date = managedCur

Bitmap scalling and cropping from center

How to Bitmap scalling and cropping from center? public class ScalingUtilities {     /**      * Utility function for decoding an image resource. The decoded bitmap will      * be optimized for further scaling to the requested destination dimensions      * and scaling logic.      *      * @param res      *            The resources object containing the image data      * @param resId      *            The resource id of the image data      * @param dstWidth      *            Width of destination area      * @param dstHeight      *            Height of destination area      * @param scalingLogic      *            Logic to use to avoid image stretching      * @return Decoded bitmap      */     public static Bitmap decodeResource(Resources res, int resId, int dstWidth,             int dstHeight, ScalingLogic scalingLogic) {         Options options = new Options();         options.inJustDecodeBounds = true;         BitmapFactory.decodeResource(res, resId, options);