用两个图像视图填充横向模式的宽度
Posted
技术标签:
【中文标题】用两个图像视图填充横向模式的宽度【英文标题】:Fill the width in landscape mode with two imageviews 【发布时间】:2017-07-31 10:48:06 【问题描述】:我有这个recyclerview,背景是用imageviews制作的。我在纵向和横向中有这两种情况。如何用新的图像视图或相同颜色的东西填充那里的空白?
这是我的 xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_
android:layout_
android:orientation="horizontal">
<ImageView
android:id="@+id/home_imageview_superbackground"
android:layout_
android:layout_
android:layout_alignParentStart="true" />
<ImageView
android:id="@+id/home_imageview_background"
android:contentDescription="Background image"
android:layout_
android:layout_
android:adjustViewBounds="true"
android:layout_alignParentEnd="true" />
<RelativeLayout
android:layout_
android:layout_
android:layout_centerVertical="true">
<TextView
android:id="@+id/content"
android:layout_
android:layout_
android:fontFamily="casual"
android:paddingBottom="10dp"
android:paddingStart="5dp"
android:paddingTop="10dp"
android:textAppearance="?attr/textAppearanceListItem"
android:textColor="@android:color/white"
android:textSize="40sp" />
</RelativeLayout>
尝试了几种方法,但我就是无法完成这项工作。 @+id/home_imageview_superbackground 这是我想放在每个背景图像视图左侧的图像视图,以填充景观中的空间。谢谢你的帮助。
【问题讨论】:
【参考方案1】:请试试这个
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_
android:layout_
android:orientation="horizontal">
<ImageView
android:id="@+id/home_imageview_superbackground"
android:layout_
android:src="@mipmap/ic_launcher"
android:scaleType="fitXY"
android:layout_ />
<ImageView
android:id="@+id/home_imageview_background"
android:layout_
android:layout_
android:src="@mipmap/ic_launcher"
android:scaleType="fitXY"
android:contentDescription="Background image" />
<RelativeLayout
android:layout_
android:layout_
android:layout_centerVertical="true">
<TextView
android:id="@+id/content"
android:layout_
android:layout_
android:fontFamily="casual"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:textAppearance="?attr/textAppearanceListItem"
android:textColor="@android:color/white"
android:textSize="40sp" />
</RelativeLayout>
</RelativeLayout>
您也可以使用 android:scaleType="centerCrop"。
希望这对您有所帮助..如果您仍然遇到问题,请告诉我...
【讨论】:
【参考方案2】:<ImageView
android:layout_
.... />
你也可以使用scaleType
attribute
【讨论】:
对不起,伙计,但你甚至没有试图帮助我:) 对不起。创建景观变化布局。【参考方案3】:首先,fill_parent 早已被弃用,您应该改用 match_parent。然后,您还必须在使用 ImagesView 时使用 scaleType 来定义图像在屏幕上的外观。在您的情况下,使用 scaleType = "fitXY" 可以解决您的问题。
你的代码应该是怎样的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_
android:layout_>
<ImageView
android:id="@+id/home_imageview_superbackground"
android:layout_
android:layout_
android:scaleType="fitXY"
android:layout_alignParentStart="true" />
<ImageView
android:id="@+id/home_imageview_background"
android:contentDescription="Background image"
android:layout_
android:layout_
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:layout_alignParentEnd="true" />
<RelativeLayout
android:layout_
android:layout_
android:layout_centerVertical="true">
<TextView
android:id="@+id/content"
android:layout_
android:layout_
android:fontFamily="casual"
android:paddingBottom="10dp"
android:paddingStart="5dp"
android:paddingTop="10dp"
android:textAppearance="?attr/textAppearanceListItem"
android:textColor="@android:color/white"
android:textSize="40sp" />
</RelativeLayout>
【讨论】:
谢谢,我会用match_parent修改我所有的fill_parent【参考方案4】:试试这个代码
<?xml version="1.0" encoding="utf-8"?><?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_
android:layout_
android:orientation="horizontal">
<ImageView
android:id="@+id/your_image"
android:layout_
android:layout_
android:src="@mipmap/ic_launcher"
android:scaleType="fitEnd"
android:layout_alignParentStart="true"
android:background="@drawable/green_gradiant"
android:padding="10dp" />
<TextView
android:id="@+id/content"
android:layout_
android:layout_
android:fontFamily="casual"
android:paddingBottom="10dp"
android:paddingStart="5dp"
android:paddingTop="10dp"
android:text="Hello Three"
android:textAppearance="?attr/textAppearanceListItem"
android:textColor="@android:color/white"
android:textSize="40sp" />
</FrameLayout>
并创建这个可绘制文件
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<gradient android:angle="0"
android:startColor="#64FFDA"
android:centerColor="#4464FFDA"
android:endColor="#0064FFDA"/>
</shape>
</item>
</selector>
【讨论】:
以上是关于用两个图像视图填充横向模式的宽度的主要内容,如果未能解决你的问题,请参考以下文章