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