2014-03-24 187 views
1

我试图复制这种重叠:百分比宽度和使用XML

enter image description here

在我的Android应用

。我希望三个文本视图在屏幕上具有基于百分比的宽度(33%)。三角形是我创建的一个单独的drawable。

的问题是,我可以在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

你可以将第二个TextView包装在FrameLayout中,并将第三个视图添加到第二个?加上一个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>