我在活动中有一个片段,其中包含RelativeLayout
,ImageView
和TextView
以下布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/txtLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/avaImage"
android:layout_centerHorizontal="true"
android:layout_marginTop="8dp"
android:text="Available"
android:textSize="26sp" />
<ImageView
android:id="@+id/avaImage"
android:layout_width="487dp"
android:layout_height="238dp"
android:layout_alignParentTop="true"
android:layout_marginTop="20dp"
android:layout_centerHorizontal="true"
android:scaleType="centerInside" />
</RelativeLayout>
这就是我以编程方式设置图像源的方式:
ImageView image = (ImageView) rootView.findViewById(R.id.avaImage);
image.setImageDrawable(getResources().getDrawable(R.drawable.availability_green));
我的问题是,如何缩小图像大小以使其适合横向模式下的屏幕?图像应该缩小到足以使文本出现在边界内?这就是我想要实现的目标
Potrait:
风景:
答案 0 :(得分:0)
请为缩小的图片尝试此代码。它与中心设置相同的图像比例。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin" >
<ImageView
android:id="@+id/avaImage"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scaleType="fitCenter"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/txtLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Available" />
</LinearLayout>