作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在编写这个用于图像处理的应用程序,当用户从图库中选择图像后,我有一个选项页面,顶部有几个控件,中间是所选图像的预览。底部还有一个“开始”按钮,但如果图像足够高,该按钮就会被覆盖。
我考虑过将图像大小调整为有效的特定高度,但该高度会在不同设备上发生变化。理想情况下,我希望图像在控件和按钮之间占据尽可能多的空间,但我只是不知道如何做到这一点。我尝试使用垂直表格布局,但这没有什么区别。
在此图像中,模拟器窗口位于右侧。
这是我的 XML。有点乱,但这里是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout" android:orientation="vertical"
android:layout_height="wrap_content" android:padding="10px"
android:layout_width="fill_parent">
<TextView android:textSize="18px" android:text="GIF Options"
android:id="@+id/textView3" android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<TableLayout android:id="@+id/tableLayout"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:stretchColumns="1">
<TableRow>
<TextView android:layout_height="wrap_content" android:text="FPS:"
android:id="@+id/TextView1" android:layout_width="wrap_content"
android:enabled="false" android:textSize="17px"></TextView>
<EditText android:text="20" android:inputType="numberDecimal"
android:id="@+id/EditTextFPS" android:numeric="decimal"
android:singleLine="true" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:digits="2"
android:width="50px"></EditText>
</TableRow>
<TableRow>
<TextView android:layout_height="wrap_content" android:text="Frames:"
android:id="@+id/TextView2" android:layout_width="wrap_content"
android:enabled="false" android:textSize="17px"></TextView>
<EditText android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="70"
android:inputType="numberDecimal" android:id="@+id/EditTextFrames"
android:numeric="decimal" android:singleLine="true" android:digits="2"></EditText>
</TableRow>
<TableRow>
<TextView android:layout_height="wrap_content" android:text="Saturation Boost: "
android:id="@+id/TextView2" android:layout_width="wrap_content"
android:enabled="false" android:textSize="17px"></TextView>
<SeekBar android:layout_height="wrap_content"
android:layout_width="fill_parent" android:id="@+id/seekBar1"
android:layout_alignParentLeft="true" android:max="10"></SeekBar>
</TableRow>
</TableLayout>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/textView4"
android:layout_gravity="center" android:text="Chosen Image"
android:textSize="16px"></TextView>
<ImageView android:layout_width="wrap_content" android:src="@drawable/icon"
android:layout_gravity="center" android:id="@+id/optionspreview"
android:isScrollContainer="true" android:layout_height="fill_parent"></ImageView>
<Button android:layout_height="wrap_content"
android:layout_width="wrap_content" android:textSize="22px"
android:id="@+id/startbutton" android:text="Start!"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" android:layout_gravity="center"></Button>
</LinearLayout>
最佳答案
您可以使用RelativeLayout 来做到这一点。
一个过于简单的答案(因为我不知道你的布局)是将所有顶部控件放在布局中(例如layoutTop),将所有按钮控件放在布局中(layoutBottom)并将你的ImageView放在中间:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutWrapper"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:id="@+id/layoutTop"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sparta!!!"
/>
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/layoutTop"
android:layout_above="@+id/layoutBottom"
android:src="@drawable/empty_star"
/>
<LinearLayout
android:id="@id/layoutBottom"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sparta!!!"
/>
</LinearLayout>
</RelativeLayout>
这里的技巧是注意我如何为layoutBottom 创建id。当我声明实际布局时,“+”不是写的,而是第一次使用它时,即在 ImageView 中。
关于java - 如何使 ImageView 缩放以为其下方的控件留出空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6103514/
这是我的jade雕像: section#entry-review-template.template(data-class='entry-review') table thead
我是一名优秀的程序员,十分优秀!