如何使用3个视图而不是9个视图来实现此布局?

时间:2016-01-06 12:11:41

标签: android android-layout android-custom-view

enter image description here

我目前已实现此布局HERE并仅使用9个视图用于顶部+底部的按钮和中心的TextView。为了使用3个视图制作这个,我理解这里,我们需要一个具有3个TextView的LinearLayout水平,他们需要使用Drawable Tops和Bottoms,问题是根据GIF,注意顶部背景+图标如何变化同时,我写了一个选择器,它结合了一个图层列表,但它没有用。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <layer-list>
            <item>
                <shape android:shape="rectangle">
                    <solid android:color="@android:color/transparent"/>
                </shape>
            </item>
            <item>
                <bitmap
                    android:gravity="center"
                    android:src="@drawable/ic_menu_down_colored"/>
            </item>
        </layer-list>
    </item>
    <item>
        <layer-list>
            <item>
                <shape android:shape="rectangle">
                    <solid android:color="@color/purple"/>
                </shape>
            </item>
            <item>
                <bitmap
                    android:gravity="center"
                    android:src="@drawable/ic_menu_down_transparent"/>
            </item>
        </layer-list>
    </item>
</selector>

有关如何使用XML或代码创建的复合drawable实现此目的的任何想法和建议都非常受欢迎

1 个答案:

答案 0 :(得分:1)

this post上有类似但略有不同的实现。其中一个可以帮助您实现您在问题中所陈述的内容。