【问题标题】:Relative Layouts Background resize on keyboard open相对布局背景在键盘打开时调整大小
【发布时间】:2017-03-17 14:54:35
【问题描述】:

我在我的应用程序的背景上工作,但是当我打开键盘时,图像会调整大小。

我听说过 adjustPan 等,但它不起作用。 getWindow.setBackground 也不起作用,因为我在一个片段上。

如果我设置 Windows 背景它可以工作,但是当我返回时背景仍然存在。
屏幕:
Correct screen
Incorrect screen

【问题讨论】:

  • 试试这个解决方案link
  • 你有一个例子,因为我不明白它是如何工作的:C
  • 在 FrameLayout 中包装您的视图,为其设置背景并调整您添加到 FrameLayout 的内容的大小。

标签: android


【解决方案1】:

原因似乎是您使用android:windowSoftInputMode="adjustResize" 在打开软键盘时调整您的活动大小。这肯定是您想要的,但背景图像总是会调整大小以适合整个元素。不要使用背景,而是在布局的底部放置一个ImageView,并将图像与适当的android:scaleType 一起放在那里,这样可以防止纵横比丢失。

【讨论】:

    【解决方案2】:

    scaleType="fitStart"添加ImageView

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
                 android:layout_width="280dp"
                 android:layout_height="match_parent"
                 android:background="@android:color/white"
                 android:paddingTop="8dp">
    
        <ImageView
            android:id="@+id/img_background"
            android:src="@drawable/background"
            android:scaleType="fitStart"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    
    
        <include layout="@layout/content"/>
    
    </FrameLayout>
    

    【讨论】:

      猜你喜欢
      • 2017-02-25
      • 2019-11-17
      • 1970-01-01
      • 1970-01-01
      • 2017-09-09
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      相关资源
      最近更新 更多