0

我有一个正在为手机和平板设备设计的应用程序。当我在我的重量属性中使用重量属性时,平板电脑上的间距不是预期的效果,XML-layout因为它们在平板电脑上拉伸得太远。

示例 - 在电话上看起来像这样

-5dp------碎片1 ------5dp-

-5dp------碎片2 ------5dp-

-5dp-(- T1 -)(--- T2 --)-5dp-

所以它很好,看起来很干净,t1 的 aweight为 1,t2 的 aweight为 2。在平板电脑上,第三个片段正在膨胀,看起来像这样

--- Frag1 ---|------------------- Frag3 ---------- ---------------------

--- Frag2 ---|-( Text1 ---------)------------(----- Text2 ---------- --------------)-

现在我知道这是因为它的 T1 = weight1 占屏幕的 33%,而 T2 = weight2 占屏幕的 66%。我的问题:有没有办法以某种方式居中,或者将两个元素推在一起,这样它们看起来就不会被拉伸并且它们之间有很大的空白空间?所以他们看起来像这样?

--- Frag1 ---|------------------- Frag3 ---------- ---------------------

--- Frag2 ---|--------( Text1 ---------)-(----- Text2 -------------- ------)---------

我尝试layout-margins在我的左右设置,XML但它什么也没做

我不介意为平板电脑制作一个完全不同的布局,但是这个东西会有很多fragments(50-100)并且每个单独制作双打将非常耗时且令人头疼。如果我可以对fragment容器做些什么来按照我想要的方式操纵外观,我会很高兴。如设置边距等。

4

1 回答 1

0

我最终解决这个问题的方法是为片段容器提供权重值。最终的结果是左边的片段拉伸了一点,让右边的片段调整了

这是代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/MainLayout"
android:baselineAligned="false"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="horizontal" >

<LinearLayout 
    android:id="@+id/container"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:orientation="vertical">

<LinearLayout
    android:id="@+id/store_fragment_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
</LinearLayout>

<LinearLayout
    android:id="@+id/header_fragment_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:scrollbars="vertical" >
</LinearLayout>

</LinearLayout>

<LinearLayout
    android:id="@+id/content_fragment_container"
    android:layout_width="0dp"
    android:layout_height="wrap_content"        
    android:layout_weight="2"
    android:orientation="vertical"
    android:scrollbars="vertical" >
</LinearLayout>

</LinearLayout>

最终结果看起来像这样,屏幕上的比例为 33%/66%。

-- Frag1 --|---- -Frag3 -----|

--碎片2 --|

不完全是我想要的,但效果相对较好。如果其他人有更好的解决方案,我会接受。谢谢!

于 2013-05-11T20:06:07.100 回答