Android Spinner自定义背景交叉版本行为

时间:2015-02-13 23:05:34

标签: android android-spinner android-4.4-kitkat

我试图在android微调器上实现自定义背景,我已经成功完成了。但是,测试此交叉版本时会出现奇怪的行为。左右笔划都消失并显示“切断”,半径也不存在。

截图:

4.4.2 (即意图)

enter image description here

4.4.4 (即实际)

enter image description here

我希望两者都显示为4.4.2。帮助

代码:

login.xml

        <Spinner
            android:id="@+id/login_domains"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:background="@drawable/bootstrap_group_edittext_top"
            android:paddingTop="12dp"
            android:paddingBottom="12dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:layout_marginTop="25dp"
            />

        <EditText
            android:id="@+id/login_username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/bootstrap_group_edittext_middle"
            android:hint="@string/placeholder_username"
            android:paddingTop="12dp"
            android:paddingBottom="12dp"
            android:paddingLeft="18dp"
            android:paddingRight="18dp"
            android:maxWidth="300dp"
            android:minWidth="300dp"
            />

        <EditText
            android:id="@+id/login_password"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/bootstrap_group_edittext_bottom"
            android:hint="@string/placeholder_password"
            android:paddingTop="12dp"
            android:paddingBottom="12dp"
            android:paddingLeft="18dp"
            android:paddingRight="18dp"
            android:layout_marginBottom="10dp"
            android:inputType="textPassword"
            android:maxWidth="300dp"
            android:minWidth="300dp"
            />

        <Button
            android:id="@+id/login_action_button"
            android:background="@drawable/ee_yellow_button"
            android:text="@string/splash_login_btn_login"
            android:textColor="#000000"
            android:textStyle="normal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp"
            android:maxWidth="300dp"
            android:minWidth="300dp" />

bootstrap_group_edittext_top.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <stroke android:width="1dp"
        android:color="#CCCCCC" />

    <corners
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp"
        android:topLeftRadius="4dp"
        android:topRightRadius="4dp"/>

    <gradient
        android:type="linear"
        android:angle="-90"
        android:centerColor="#FFFFFFFF"
        android:startColor="#dddddd"
        android:endColor="#FFFFFF"
        android:centerY="2%"/>
</shape>

1 个答案:

答案 0 :(得分:0)

我在一位同事的帮助下找到了原因。因为我使用固定宽度的Spinner,背景的界限受到限制。我正在使用这个,因为我试图实现&#34; maxWidth&#34;定义

我通过创建类似于this answer的容器并将子元素更改为android:layout_width match_parent并在左侧和右侧添加10dp的边距来解决此问题为了防止裁剪。

完整代码(我已删除安全包):

        <com.yourpackage.views.BoundedLinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:minWidth="300dp"
            app_name:bounded_width="300dp">

            <TextView
                android:id="@+id/login_error_msg"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:background="@drawable/bootstrap_alert_error"
                android:visibility="gone"
                android:textColor="#a94442"
                android:layout_marginRight="10dp"
                android:layout_marginLeft="10dp"
                />

            <Spinner
                android:id="@+id/login_domains"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bootstrap_group_edittext_top"
                android:paddingTop="12dp"
                android:paddingBottom="12dp"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:layout_marginTop="25dp"
                android:layout_marginRight="10dp"
                android:layout_marginLeft="10dp"
                />

            <EditText
                android:id="@+id/login_username"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bootstrap_group_edittext_middle"
                android:hint="@string/placeholder_username"
                android:paddingTop="12dp"
                android:paddingBottom="12dp"
                android:paddingLeft="18dp"
                android:paddingRight="18dp"
                android:layout_marginRight="10dp"
                android:layout_marginLeft="10dp"
                />

            <EditText
                android:id="@+id/login_password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bootstrap_group_edittext_bottom"
                android:hint="@string/placeholder_password"
                android:paddingTop="12dp"
                android:paddingBottom="12dp"
                android:paddingLeft="18dp"
                android:paddingRight="18dp"
                android:layout_marginRight="10dp"
                android:layout_marginLeft="10dp"
                android:layout_marginBottom="10dp"
                android:inputType="textPassword"
                />

            <Button
                android:id="@+id/login_action_button"
                android:background="@drawable/ee_yellow_button"
                android:text="@string/splash_login_btn_login"
                android:textColor="#000000"
                android:textStyle="normal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="15dp"
                android:layout_marginRight="10dp"
                android:layout_marginLeft="10dp" />

            <TextView
                android:id="@+id/login_need_access"
                android:gravity="center"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/mee_login_need_access"
                android:layout_marginTop="25dp"
                android:textColor="#FFFFFFFF"
                />
        </com.yourpackage.views.BoundedLinearLayout>