如何自动调整宽度和高度?

时间:2019-05-21 14:58:30

标签: android android-layout

我正在使用Android Studio制作应用,并希望自动设置要显示在首页上的图像的宽度和高度。我的代码就是这样

 <HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

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

        <TextView
            android:id="@+id/textView"
            android:layout_width="375dp"
            android:layout_height="220dp"
            android:layout_marginBottom="5sp"
            android:adjustViewBounds="true"
            android:background="@drawable/japuji"
            android:clickable="true"
            android:focusable="true"
            android:linksClickable="true"
            android:scaleType="fitXY"
            android:textStyle="bold" />

这是滚动视图,当我设置fill_parent时,TextView中的wrap_content也不起作用,当我在大屏幕图像上对其进行测试时,它很小,

我已经尝试过将宽度更改为fill_parent和wrap_content

2 个答案:

答案 0 :(得分:2)

您不应将图像显示为视图的背景,而应使用ImageView

    <ImageView
        android:contentDescription="@string/imagedesc"
        android:id="@+id/my_image"

        android:src="@drawable/your_image" 

        android:scaleType="fitCenter"

        android:adjustViewBounds="true"

        android:layout_width="wrap_content"
        android:layout_height="match_parent"
       />

src :设置可绘制图像

scaleType :设置所需的比例类型,在这种情况下为 fitCenter ,将 adjustViewBounds 设置为 true 和<将strong>宽度或高度(其中之一)设置为 wrap_content 将显示完整图片。

编辑: 如果您具有固定的视图大小,并且希望使用该可绘制图像覆盖所有视图,则应使用 centerCrop 作为 scaleType 而不是 fitCenter

答案 1 :(得分:0)

您显然是在TextView中显示图像(android:background="@drawable/japuji"),但是TextView的高度和宽度是硬编码的:android:layout_width="375dp" android:layout_height="220dp"

相反,将TextView的高度和宽度设置为match_parent