【问题标题】:Android Spinner Custom Background Cross Version BehaviourAndroid Spinner 自定义背景跨版本行为
【发布时间】:2015-04-15 02:58:08
【问题描述】:

我正在尝试在 android 微调器上实现自定义背景,并且我已经成功地做到了。但是,在测试这个交叉版本时出现了一个奇怪的行为。左右笔划都消失并出现“截断”,半径也不存在。

截图:

4.4.2 (即预期)

4.4.4 (即实际)

我希望两者都显示为 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>

【问题讨论】:

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


    【解决方案1】:

    在一位同事的帮助下,我设法找到了原因。因为我为 Spinner 使用了固定宽度,所以背景的范围受到了限制。我在尝试实现“maxWidth”定义时使用它。

    我通过创建一个类似于this answer 的容器来解决这个问题,并将子元素更改为具有android:layout_widthmatch_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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      • 2012-11-20
      相关资源
      最近更新 更多