Android,将图像和textview放入屏幕

时间:2016-05-16 17:21:36

标签: android android-layout android-fragments android-imageview

我添加了一个带有ImageView的片段,它是一个PNG图像,下面是TextView。 片段显示正常但是当我旋转屏幕时,图像将占据屏幕的大部分并且TextView被部分剪切。 这是代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

<ImageView
    android:id="@+id/shopping_cart"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:src="@drawable/shopping_cart" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_below="@id/shopping_cart"
    android:text="@string/no_data"
    android:gravity="center"/>


</RelativeLayout>

我试图找到一种方法来调整图像大小,以便在屏幕上显示图像和文字

4 个答案:

答案 0 :(得分:1)

如果您想要保留相同的图像大小而不是调整图像大小,请尝试使用滚动视图作为根元素。这是一个小片段 -

<ScrollView
    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"
    android:fillViewport="true">


<RelativeLayout
    android:id="@+id/container"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

(all your view elements)

</RelativeLayout>

答案 1 :(得分:0)

以下是代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/shopping_text"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:text="@string/no_data"/>

<ImageView
    android:id="@+id/shopping_cart"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@id/shopping_text"
    android:src="@drawable/shopping_cart"/>


</RelativeLayout>

答案 2 :(得分:0)

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">


<LinearLayout
    android:id="@+id/text_image_container"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

(Enter view here)

</LinearLayout>

答案 3 :(得分:0)

好的,首先要确保您拥有所有密度的ImageView图像。我建议您在ImageView代码中使用此属性:

https://developer.android.com/reference/android/widget/ImageView.ScaleType.html

缩放类型定义图像应根据视图缩放的方式。我曾经遇到过类似的问题,我能用这个来解决它。话虽如此,我还没有看到你正在使用的图像,所以我不能很确定。但是,我会说你使用:

android:scaleType="centerCrop"

您可以在上面提供的链接上找到该属性的定义。此外,我不知道您的应用程序针对哪些设备,但始终保持滚动视图内的视图,以便即使在较小的屏幕上也可以看到它们。

尝试一下,如果不是通过centerCrop,那么可能是通过其他一些属性。

干杯!!