1

我有一个覆盖整个布局背景的渐变。但是,当我关闭软件键盘时,渐变调整到全高大约需要 1 秒。这会产生您在下图中看到的白色背景。

我想做类似的事情

android:windowSoftInputMode="adjustPan"

然而,这是不好的做法,因为列表视图的很大一部分将隐藏在键盘下。梯度:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"
    android:useLevel="false" >
    <gradient
        android:startColor="#0d2d70"
        android:endColor="#007dbc"
        android:useLevel="false"
        android:type="linear"
        android:angle="45" />
</shape>

布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/gradient"
    android:padding="20dp" >

    <!-- input field is here -->

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/input_licence"
        android:divider="#FFFFFF"
        android:dividerHeight="1dp"
        android:padding="5dp"
        android:scrollbarStyle="outsideOverlay" >
    </ListView>


</RelativeLayout>

任何想法如何防止空白?

在此处输入图像描述

4

2 回答 2

1

我已经解决了我的问题。我没有为每个活动设置背景可绘制对象,而是像这样在 styles.xml 中设置它

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:windowBackground">@drawable/gradient</item>
</style>

白色空间消失。

于 2013-10-23T17:23:40.100 回答
0

键盘退出后视图似乎没有失效。虽然我不确定实际问题。我建议您通过代码手动使视图无效。像,

container.invalidate();

http://developer.android.com/reference/android/view/View.html#invalidate()

于 2013-10-23T14:44:37.343 回答