android - android:在 ImageView 上获取 LinearLayout
问题描述
我希望 ImageView 覆盖屏幕的左半部分,同时保持纵横比和 LinearLayout 在相同位置具有相同的宽度和高度。谁能告诉我如何实现这一目标?
解决方案
我将从这样的布局开始:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/your_linear_layout"
android:layout_alignParentEnd="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
<ImageView
android:id="@+id/your_image_view"
android:layout_alignParentEnd="true"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="image"/>
</RelativeLayout>
然后在您的活动或片段中,您必须以编程方式设置 LinearLayout 的高度和宽度以匹配 ImageView。
ImageView iv = findViewById(R.id.your_image_view);
int ivHeight = iv.getHeight();
int ivWidth = iv.getWidth();
LinearLayout ll = findViewById(R.id.your_linear_layout);
LayoutParams llParams = ll.getLayoutParams();
llParams.height = ivHeight;
llParams.width = ivWidth
ll.setLayoutParams(llParams);
“src”标签将确保保留图像的纵横比。请记住,您也必须以这种方式在旋转后处理调整大小。
推荐阅读
- php - 在 PHP 7.2 中进行 Curl 安装,但在应用程序中不起作用
- react-router - 在react-router中,为什么页面的公共元素应该是Router的子元素?
- django - 如何翻译密码重置表单中的字段标题?
- javascript - 如何有效地从 json 对象 js 中删除无名属性
- python - 查找两个连续日期之间的日期
- snowflake-cloud-data-platform - 雪花 - 如何查询流的元数据并保存到表
- javascript - 无法控制台日志数组数据(从 promise 推送)
- html - 基于 RadioField 选择的 Flask WTForm 隐藏/显示表单问题
- c - 通过示例头文件“fgicfunc.h”查找 Informix4GL
- azure - Azure DataWarehouse 中的数据加载_需要解决方案