Android Layout skewed for different screen sizes -
<?xml version="1.0" encoding="utf-8"?> <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"> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/layout_blue_border" android:weightsum="1"> <linearlayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:weightsum="5" android:layout_weight="1.5" android:layout_margin="@dimen/abc_button_inset_horizontal_material" android:outlineprovider="none"> <linearlayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:id="@+id/textview2" android:layout_marginleft="@dimen/abc_control_inset_material"> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:text="moisture probe info" android:id="@+id/textview9" android:layout_weight="1" android:layout_margintop="@dimen/activity_horizontal_margin" android:textsize="@dimen/abc_text_size_button_material" android:textstyle="bold" /> </linearlayout> <tablelayout android:layout_width="match_parent" android:layout_height="wrap_content" android:outlineprovider="none" android:orientation="horizontal" android:layout_below="@+id/actvcal" android:layout_alignleft="@+id/display_tv" android:layout_alignstart="@+id/display_tv" android:weightsum="5" android:layout_weight="0" > <linearlayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="match_parent" android:weightsum="2" android:layout_weight="1" android:layout_margin="@dimen/activity_horizontal_margin" > <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:text="serial #:" android:id="@+id/serial" android:layout_weight="1" /> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/serial_val" android:layout_column="8" android:layout_weight="1" /> </linearlayout> <linearlayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:weightsum="2" android:layout_margin="@dimen/activity_horizontal_margin" > <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:text="battery:" android:id="@+id/battery" android:layout_weight="1" /> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/battery_val" android:layout_column="8" android:text="0" android:layout_alignparentend="true" android:layout_weight="1" android:layout_alignparentright="true" /> </linearlayout> <linearlayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:weightsum="2" android:layout_margin="@dimen/activity_horizontal_margin" > <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:text="firmware ver:" android:id="@+id/firmware" android:layout_weight="1" /> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/firmware_val" android:layout_column="8" android:layout_weight="1" /> </linearlayout> <linearlayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:weightsum="2" android:layout_margin="@dimen/activity_horizontal_margin" > <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:text="date:" android:id="@+id/date" android:textisselectable="false" android:layout_weight="1" /> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/date_val" android:layout_column="8" android:layout_alignparentend="true" android:layout_weight="1" android:layout_alignparentright="true" /> </linearlayout> <linearlayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:weightsum="2" android:layout_margin="@dimen/activity_horizontal_margin" > <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:text="mac addr:" android:id="@+id/macaddr" android:layout_weight="1" /> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/mac_val" android:layout_column="8" android:layout_weight="1" /> </linearlayout> <linearlayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginleft="@dimen/activity_horizontal_margin" android:layout_margintop="@dimen/activity_horizontal_margin" android:layout_marginright="@dimen/activity_horizontal_margin"> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:text="latitude" android:id="@+id/long_text" android:layout_weight="1" /> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/latitude_val" android:layout_column="8" android:layout_weight="1" /> </linearlayout> <linearlayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginleft="@dimen/activity_horizontal_margin" android:layout_marginright="@dimen/activity_horizontal_margin" android:layout_marginbottom="@dimen/activity_horizontal_margin"> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:text="longitude" android:id="@+id/textview3" android:layout_weight="1" /> <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/longitude_val" android:layout_column="8" android:layout_weight="1" /> </linearlayout> <linearlayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="@dimen/activity_horizontal_margin" > <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/note" android:layout_column="8" android:layout_weight="1" /> </linearlayout> </tablelayout> <linearlayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:weightsum="3" android:layout_gravity="bottom" android:gravity="bottom|fill_vertical" android:layout_weight=".5" android:layout_marginleft="@dimen/activity_horizontal_margin"> <textview android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/button2" android:layout_alignparentbottom="true" android:layout_toleftof="@+id/return2" android:layout_tostartof="@+id/return2" android:layout_aligntop="@+id/button1" android:layout_weight="1" android:layout_gravity="center_vertical" android:layout_marginright="@dimen/activity_horizontal_margin" android:outlineprovider="none" /> <textview android:layout_width="match_parent" android:layout_height="match_parent" android:text="" android:id="@+id/button1" android:layout_alignparentend="false" android:layout_alignparentright="false" android:layout_weight="1" android:layout_marginright="@dimen/activity_horizontal_margin" android:outlineprovider="none" /> <button android:id="@+id/return2" android:text="return main menu" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignparentbottom="true" android:layout_alignparentright="true" android:layout_alignparentend="true" android:layout_aligntop="@+id/button2" android:background="@drawable/button_shape_grey" android:layout_weight="1" android:textsize="@dimen/abc_text_size_caption_material" android:layout_marginright="@dimen/activity_horizontal_margin" /> </linearlayout> </linearlayout> </linearlayout> <progressbar android:id="@+id/progressbar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerhorizontal="true" android:indeterminate="false" android:layout_weight=".1" android:layout_margintop="@dimen/activity_horizontal_margin" android:layout_gravity="top|center_horizontal" /> </relativelayout>
i new android programming. layout appears correctly on devices , cut off on others. have added margins "@dimen/activity_horizontal_margin" in xml layout. expected calculated according screen size not case. how can mention margin calculated according available space?
at first, not have many wrapped layouts 1 in another. , second, bad use weight in these cases android need lot of time count value inside deepest component.
in way need better use tablelayout same purposes.
Comments
Post a Comment