其他分享
首页 > 其他分享> > android:子视图的fill_parent填充屏幕

android:子视图的fill_parent填充屏幕

作者:互联网

我正在尝试复制微调器控件(请不要问为什么),我正在努力使用分频器.伪旋转器看起来不错,直到我在imageview的左侧添加了分隔线.添加分隔线后,其高度将填充屏幕的其余部分.有人可以解释一下吗?

以下xml:

…….

        <Spinner 
            android:id="@+id/equipment_spinner"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <Button
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"/>
            <ImageView
                android:id="@+id/spinner_arrow"
                android:layout_width="45sp"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:src="@drawable/spinner_arrow"/>
        </RelativeLayout>
    </LinearLayout>    
</ScrollView>

产生以下屏幕:

添加分隔线后,xml如下所示:

        <Spinner 
            android:id="@+id/equipment_spinner"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <Button
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"/>
            <ImageView
                android:id="@+id/spinner_arrow"
                android:layout_width="45sp"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:src="@drawable/spinner_arrow"/>
            <View
                android:background="#e7ebe7"
                android:layout_width="1dip"
                android:layout_height="fill_parent"
                android:layout_toLeftOf="@id/spinner_arrow"/>
        </RelativeLayout>
    </LinearLayout>    
</ScrollView>

产生以下屏幕:

有人可以在这里发现我在做什么错吗?…

解决方法:

您应该为此使用九个补丁的图像,而不是使用多个视图.这就是默认的Spinner所做的.我不知道为什么要创建一个新的微调器,但是如果您要保持视觉效果不变,则可以重复使用内置图像.

android.R.layout.simple_spinner_item是您可以重用的TextView布局.或者,您可以直接获取背景:android.R.drawable.btn_dropdown,这是一个可绘制的XML选择器,每个状态都有位图. Android源代码中提供了更多详细信息.

标签:relativelayout,fill-parent,android
来源: https://codeday.me/bug/20191208/2088715.html