Android - 将图像缩放到可用空间

时间:2016-09-17 12:59:34

标签: android image android-layout scale

我熟悉Windows Phone XAML及其带行和列的网格。现在我想开发一个类似布局的Android应用程序:

 ______________________
|                      |
|                      |
|  1' row - two images |
|                      |
|                      |
|                      |
|                      |
|----------------------|
|  2' row - TextView   |
|                      |
|----------------------|
| 3' row - two buttons |
|______________________|

使用GridRows在XAML中轻松获得此布局。 Height="*"的第一行。 Height="Auto"的第二行和最后一行。我怎样才能在Android中获得此功能?我尝试使用TableLayout,它在大屏幕上运行良好。但在小屏幕上,我只能看到没有按钮的第一排和第二排。按钮和文本始终应该是可见的,图像应该适合剩余的可用屏幕空间。图像是透明的,并且相互加载。感谢您的任何提示。

2 个答案:

答案 0 :(得分:2)

使用LinearLayout。对于第一个项目,设置其layout_height =" 0dp"和layout_weight =" 1"。对于其他两个,请输入layout_height =" wrap_content"。这将为底部2个元素提供所需的空间,但不多,并根据重量比将剩余量除以所有0dp高度。由于只有一件物品有重量,所以它都会去那里。

答案 1 :(得分:1)

这是剪辑的xml代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:orientation="horizontal">

    <!--add two images here-->

</LinearLayout>

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

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <!--add two buttons here-->
</RelativeLayout>

</LinearLayout>