我试图复制这个:
在我的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" />
似乎解决方案在某种程度上是RelativeLayout
和LinearLayout
的组合,但我似乎无法找到正确的方法。
有什么想法吗?
答案 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>