android - 在全屏对话框中显示与 AlertDialog 按钮一起居中的位图
问题描述
我想在对话框中显示提到的事物中心,例如,现在其中一个显示如下:
它应该显示如下:
我的意思是,位图上方和按钮下方的相同空间。
这同样适用于位图的宽度,左侧和右侧应该有相同的空间,我当前的代码似乎实现了这一点。
这就是我调用对话框的方式:
private fun showFullScreenDialog()
{
val vacationDialog = AlertDialog.Builder(fragment.context,R.style.DialogTheme)
val factory = LayoutInflater.from(fragment.context);
var view = factory.inflate(R.layout.sample, null)
view.dialog_imageview.setImageBitmap(bitmap)
vacationDialog.setView(view)
vacationDialog.setPositiveButton("Cerrar"){dialog, which ->
dialog.dismiss()
}
vacationDialog.show()
}
这是 sample.xml 布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:background="@color/white"
>
<ImageView
android:id="@+id/dialog_imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:foregroundGravity="center_vertical"
/>
</LinearLayout>
这是定义的 DialogTheme 样式:
<style name="DialogTheme" parent="android:Theme.Dialog">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">fill_parent</item>
<!-- No backgrounds, titles or window float -->
<item name="android:windowBackground">@color/colorPrimary</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">false</item>
</style>
关于如何解决这个问题的任何想法?
解决方案
使用相对布局而不是线性布局-:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:background="@color/white"
>
<ImageView
android:id="@+id/dialog_imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:foregroundGravity="center_vertical"
/>
</LinearLayout>
推荐阅读
- http - 拉戈姆会议
- python - 基于另一个数组更改numpy数组值的矢量化方法
- javascript - Shopify 产品没有变体,但 id 显示在 url
- react-native - redux-form 从不为 react native app 调用验证
- excel - Excel“如果>复制>插入1行>粘贴>仅值(从工作表到工作表)”
- java-8 - Java 1.8 更新 121 (1.8.0_121-b13) 导致 Applet 崩溃
- sas - SAS studio,我无法打开数据集
- c# - 将引用的程序集复制到输出目录的子目录
- three.js - 如何访问 Face3 Vector3 Three.js
- kubernetes - 无法使用主 url 获得服务