c# - 对话框片段宽度和高度被忽略
问题描述
如何设置对话框片段的宽度和高度?我读过的所有内容都说要像这样覆盖 OnStart 方法:
public override void OnStart()
{
if (Dialog == null)
{
return;
}
int dialogWidth = 300;
int dialogHeight = 75;
Dialog.Window.SetLayout(dialogWidth, dialogHeight);
}
当我这样做时,应用程序崩溃,我无法捕获错误,因为它显然在我正在编写的代码之外失败。如果没有这个覆盖,对话框就会出现并按预期运行。
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:minWidth="300dp"
android:minHeight="75dp">
<TextView
android:text="Select section."
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAlignment="center"
android:textStyle="bold"
android:id="@+id/textView2" />
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAlignment="center"
android:id="@+id/my_spinner" />
<Button
android:text="Ok"
android:layout_width="200px"
android:layout_gravity="center"
android:layout_height="34.5dp"
android:id="@+id/button_ok" />
</LinearLayout>
显然android:minWidth
andandroid:minHeight
设置被忽略了,因为我得到的只是一个小对话框。
解决方案
Mehmed 代码的 c# 等价物:
public override void OnResume()
{
int width = 300;
int height = 75;
base.OnResume();
}
我发现很多关于 Xamarin 的 Stack Overflow 上发布的代码都是 java 代码,我使用 c#(Visual Studio 2017)并且对 java 一无所知,并且发现很难转换为 c#,令人沮丧。当我在答案中看到 java 代码时,我通常会直接跳过它。但是看到我是如何提出这个问题的,而且 Mehmed 很友好地提供了一个可行的解决方案,我觉得有必要发布 ac# 转换。
您会注意到我选择不将值放入 中dimens.xml
,我不喜欢将值存储在“代码文件外部”中,然后在代码中检索它们,这有时会使调试变得更加困难。当您这样做时,所发生的一切就是编译器将代码行替换为生成的 obj 文件中的值,sooooo .. 为什么要这样做?
鉴于这些价值观永远不会改变,我认为将它们放入其中毫无意义dimens.xml
,无论如何要说服我!
推荐阅读
- twilio - SMS Messaging 从一对多示例
- c++ - 试图模拟双摆的分段错误
- properties - 更改输入变量时如何在 ContentView 中使用属性观察器更新文本
- c++ - gcc: asm 语法 'mov eax, OFFSET FLAT: .LC0'?
- c# - 如何使用 HttpWebRequest 获取数据
- python - 使用 Beautifulsoup 抓取网站时出现问题
- canvas - 移动 Chrome 错误 - 当画布高度是屏幕高度的 3-5 倍并且使用画布上的画布时,动画画布会使浏览器崩溃
- swift - Apple XCode CoreData SQLite 文件位置不断移动
- powerbi - 将所有值从一张非独特 ID 表中提取到新的不同 ID 表中,并将它们全部连接起来
- web-scraping - How to parse table with a internal link by BeautifulSoup?