百分比宽度与xml重叠

时间:2014-03-24 15:36:00

标签: android android-layout android-linearlayout android-xml

我试图复制这个:

enter image description here

在我的Android应用中。我希望这三个textviews在屏幕上有一个基于百分比的宽度(33%)。三角形是我创建的独立绘图。

问题是,我可以在LinearLayout中创建百分比宽度,但我在LinearLayout中不能有很好的重叠视图 - 基本信息 textview应该在三角形后面。

下面是我工作的代码没有三角形:

样式:

<style name="status_selected_textview">
    <item name="android:layout_width">0dp</item>
    <item name="android:layout_height">@dimen/standard_line_height</item>
    <item name="android:layout_weight">0.33</item>
    <item name="android:gravity">center</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textSize">@dimen/font_size_medium</item>
    <item name="android:textColor">@android:color/white</item>
    <item name="android:padding">5dp</item>
    <item name="android:background">@color/green</item>
</style>

<style name="status_unselected_textview">
    <item name="android:layout_width">0dp</item>
    <item name="android:layout_height">@dimen/standard_line_height</item>
    <item name="android:layout_weight">0.33</item>
    <item name="android:gravity">center</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textSize">@dimen/font_size_medium</item>
    <item name="android:textColor">@color/gray</item>
    <item name="android:padding">5dp</item>
    <item name="android:background">@color/light_header</item>
</style>

布局:

<LinearLayout 
    android:id="@+id/activate_key_status_header"
    android:layout_below="@+id/activate_key_header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:backround="@color/light_header">

    <TextView
        android:id="@+id/activate_key_textview"
        android:text="Activate Key"
        style="@style/status_selected_textview"/>


    <TextView
        style="@style/status_unselected_textview"
        android:text="Basic Info" />

    <TextView
        android:text="Edit Profile"
        style="@style/status_unselected_textview"/>


</LinearLayout>

以下是我想要以某种方式添加的三角形的代码:

<View
        android:layout_toRightOf="@+id/activate_key_textview"
        android:layout_width="@dimen/standard_line_height"
        android:layout_height="@dimen/standard_line_height"
        android:background="@drawable/arrow_right" />

似乎解决方案在某种程度上是RelativeLayoutLinearLayout的组合,但我似乎无法找到正确的方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你可以在FrameLayout中包装第二个TextView,并将第三个视图添加到第二个吗?我想,加上一个android:gravity就可以了。

这样的事情:

<FrameLayout
<!-- Whatever styles you need to make it fit 33%-->
    >
    <TextView
        style="@style/status_unselected_textview"
        android:text="Basic Info" />

    <View
        android:gravity="left"
        android:layout_width="@dimen/standard_line_height"
        android:layout_height="@dimen/standard_line_height"
        android:background="@drawable/arrow_right" />

</FrameLayout>