以下代码在纵向方向上正常运行,但是在横向方向上,图像覆盖了整个屏幕,其他任何视图均未显示。我必须替换代码的哪一部分来解决该问题?
此处https://imgur.com/LNJ95r7“人像视图”的屏幕截图 https://imgur.com/yq1ncnk“横向视图”
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ImageView
android:id="@+id/resturant_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/resturant"
android:layout_alignParentTop="true"
android:scaleType="centerCrop" />
<TextView
android:id="@+id/resturant_name"
android:layout_below="@id/resturant_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingLeft="16dp"
android:text="Etarnity Resturant"
android:textSize="30dp"
android:textColor="@android:color/black"
android:textStyle="bold"/>
<TextView
android:id="@+id/resturant_description"
android:layout_below="@id/resturant_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="Best food quality in cheapest price.One of the best stores of california. Home delivery available 24x7"
android:textSize="20dp"
android:textColor="@android:color/black" /> </RelativeLayout>
答案 0 :(得分:0)
您可以通过两种方法解决它。
1。创建横向布局,并更改横向和纵向布局
2。将图像宽度从match_parent更改为固定大小,然后将其放入滚动视图。
答案 1 :(得分:0)
将设备转到第
行下的横向模式时android:adjustViewBounds="true"
开始工作。依次迫使您的ImageView增加其边界以保留图像/可绘制对象的纵横比,并且图像会超出可用视图。
详细了解ImageViews here
尝试删除上面的行,然后查看您的应用在两种情况下的效果。 要么 将ScrollView与当前代码一起使用。
如果没有任何效果,我希望使用scrollView。
答案 2 :(得分:0)
将ScrollView
或NestedScrollView
添加到布局中,如以下代码所示:
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/resturant_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/resturant"
android:layout_alignParentTop="true"
android:scaleType="centerCrop" />
<TextView
android:id="@+id/resturant_name"
android:layout_below="@id/resturant_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingLeft="16dp"
android:text="Etarnity Resturant"
android:textSize="30dp"
android:textColor="@android:color/black"
android:textStyle="bold"/>
<TextView
android:id="@+id/resturant_description"
android:layout_below="@id/resturant_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="Best food quality in cheapest price.One of the best stores of california. Home delivery available 24x7"
android:textSize="20dp"
android:textColor="@android:color/black" />
</RelativeLayout>
</ScrollView>
</RelativeLayout>
答案 3 :(得分:0)
有两种方法可以解决此问题
第一
为横向视图创建不同的布局,并在运行时方向更改时进行充气
第二
对于大尺寸布局,我们使用了ScrollView
或NestedScrollView
。有时Layout需要更多空间,因此在这种情况下,我们使用了 ScrollView
查看代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="10dp">
<ImageView
android:id="@+id/resturant_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:adjustViewBounds="true"
android:src="@drawable/house1" />
<TextView
android:id="@+id/resturant_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/resturant_image"
android:paddingLeft="16dp"
android:paddingTop="10dp"
android:text="Etarnity Resturant"
android:textColor="@android:color/black"
android:textSize="30dp"
android:textStyle="bold" />
<TextView
android:id="@+id/resturant_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/resturant_name"
android:paddingLeft="16dp"
android:paddingTop="10dp"
android:paddingRight="16dp"
android:text="Best food quality in cheapest price.One of the best stores
of california. Home delivery available 24x7"
android:textColor="@android:color/black"
android:textSize="20dp" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</RelativeLayout>
在这段代码中,我使用nestedscroll视图来滚动布局