我已经阅读了很多关于设置基于密度的布局的帖子,但没有一个符合这里的标准。
我想根据横向相同屏幕尺寸平板设备的不同 DPI 值设置SO post中看到的顶部时间线和底部时间线。
请参阅链接中的图表。时间线是位图顶部的 1 2 3 4 .. 数字。由于平板电脑 2 的 dpi 较高,它们在宽度上左对齐。
平板电脑 1:160 DPI 7 英寸平板电脑。
平板电脑 2:216 DPI 7 英寸平板电脑。
Tablet 1
和的布局文件Tablet 2
放在layout-large-land
. 这导致更高密度设备的时间线更短(平板电脑 2)。
我通过执行以下操作调整了平板电脑 2 的密度:
int screenInches = getScreenDimentions();
if(screenInches < 8)
{
DisplayMetrics dm = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
// Display device dpi value of Y in pixels
int screenDPIy = (int)dm.ydpi;
if(screenDPIy > 180)
{
//setting the margins for top and bottom timelines pro-grammatically.
}
但是这种基于代码设置时间线边距的想法似乎并不合适。
这样做的标准方法是什么,哪个文件夹/布局被认为适合为这种场景获取密度独立布局?
是否有可能为上述不同密度的设备设置布局layout-tvdpi-land
?layout-mdpi-land
更新:
我的布局xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/chartmain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:gravity="center_horizontal|center_vertical"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/relative"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dp" >
<android.support.v4.view.ViewPager
android:id="@+id/HView"
android:layout_width="560dp"
android:layout_height="255dp"
android:layout_centerHorizontal="true"
android:layout_marginLeft="160sp"
android:layout_marginTop="110sp"
android:layout_marginBottom="80sp">
</android.support.v4.view.ViewPager>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="18dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="1"
android:textColor="#000000" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="40dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="2"
android:textColor="#000000" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="62dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="3"
android:textColor="#000000" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="84dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="4"
android:textColor="#000000" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="109dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="5"
android:textColor="#000000" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="132dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="6"
android:textColor="#000000" />
<TextView
android:id="@+id/topLtTv7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="155dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="7"
android:textColor="#000000" />
<TextView
android:id="@+id/topLtTv8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="177dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="8"
android:textColor="#000000" />
<TextView
android:id="@+id/topLtTv9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="200dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="9"
android:textColor="#000000" />
<TextView
android:id="@+id/topLtTv10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="217dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="10"
android:textColor="#000000" />
<TextView
android:id="@+id/topLtTv11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="242dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="11"
android:textColor="#000000" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="266dp"
android:layout_marginTop="90dp"
android:textSize="12sp"
android:text="Noon"
android:textColor="#000000" />
<TextView
android:id="@+id/topRtTv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="296dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="1"
android:textColor="#000000" />
<TextView
android:id="@+id/topRtTv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="315dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="2"
android:textColor="#000000" />
<TextView
android:id="@+id/topRtTv3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="337dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="3"
android:textColor="#000000" />
<TextView
android:id="@+id/topRtTv4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="359dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="4"
android:textColor="#000000" />
<TextView
android:id="@+id/topRtTv5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="382dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="5"
android:textColor="#000000" />
<TextView
android:id="@+id/topRtTv6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="404dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="6"
android:textColor="#000000" />
<TextView
android:id="@+id/topRtTv7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="428dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="7"
android:textColor="#000000" />
<TextView
android:id="@+id/topRtTv8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="450dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="8"
android:textColor="#000000" />
<TextView
android:id="@+id/topRtTv9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="472dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="9"
android:textColor="#000000" />
<TextView
android:id="@+id/topRtTv10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="490dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="10"
android:textColor="#000000" />
<TextView
android:id="@+id/topRtTv11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="515dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="11"
android:textColor="#000000" />
<TextView
android:id="@+id/totalHoursTop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/HView"
android:layout_marginLeft="550dp"
android:layout_marginTop="90dp"
android:textSize="14sp"
android:text="Total Hours"
android:textColor="#000000" />
<RelativeLayout/>
</LinearLayout>
</LinearLayout>