小编Rey*_*deh的帖子

如何在xamarin.android中将dp转换为px?

我想在xamarin.android的C#代码中将dp转换为px ,但我能找到的只是android studio 中的java代码,在xamarin有一些问题.我尝试使用类似于使用Resources而不是getResources(),我可以解决一些小问题,但是还有一些问题我找不到它们的任何等价物.这里是xamarin中的原始代码,我的代码和我的代码问题:

第一个代码

(从以编程方式将LayoutParams上的高度设置为与密度无关的像素)

java代码

int height = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, < HEIGHT >, getResources().getDisplayMetrics());
Run Code Online (Sandbox Code Playgroud)

C#代码

int height = (int)TypedValue.ApplyDimension(TypedValue.COMPLEX_UNIT_DIP, < HEIGHT >, Resources.DisplayMetrics);
Run Code Online (Sandbox Code Playgroud)

问题:

  • 'TypedValue'不包含'COMPLEX_UNIT_DIP'的定义

  • 无效的表达式术语<(>的相同错误)

  • 当前上下文中不存在名称"HEIGHT"

第二个代码

(从公式px找到dp,dp到px android)

java代码

DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
int px = Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
Run Code Online (Sandbox Code Playgroud)

C#代码

DisplayMetrics displayMetrics = Application.Context.Resources.DisplayMetrics;
int pixel = Math.Round(dp * (displayMetrics.Xdpi / DisplayMetrics.DensityDefault));
Run Code Online (Sandbox Code Playgroud)

问题

  • 运算符'/'不能应用于'float'和'DisplayMetricsDensity'类型的操作数

现在我实际上有两个问题.哪个代码更合适?在xamarin.android中它们的等效代码是什么?

提前致谢.

pixel pixels xamarin.android density-independent-pixel xamarin

10
推荐指数
2
解决办法
8474
查看次数

如何在编辑文本之外只需轻按一下键盘?

我想通过在edittext外面点击来隐藏键盘.这是我的xml代码:

<RelativeLayout
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:onClick="rl_main_onClick">
<RelativeLayout
  //Here there are some widgets including some edittext.
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

这是我的java代码(MainActivity):

public void rl_main_onClick(View view) {
    InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
Run Code Online (Sandbox Code Playgroud)

但我必须点击两次才能隐藏键盘.第一次点击只是改变"下一步"(对于最后一个编辑文本它是"完成")输入图标,然后第二次点击隐藏键盘.这是第一次点击时发生的事情:

第一次点击是做什么的.

现在我有两个问题:

1-如何只需轻按一下即可修复并隐藏键盘?

2-是否可以对我的所有edittext(一个代码)进行此操作?

提前致谢.

keyboard android android-edittext

7
推荐指数
1
解决办法
2万
查看次数

如何在winforms中第二次"顺利"展示表格?

我有一个表单,应该通过点击主窗体中的按钮显示,我想当用户关闭第二个窗体时,主窗体再次显示在屏幕的中心.我使用下面的代码来做到这一点:

private void button_Click(object sender, EventArgs e)
{
    this.Hide(); //Hides the main form .
    form2.ShowDialog(); //Shows the second form .
    this.Show(); // Re-shows the main form after closing the second form ( just in the taskbar , not on the screen ) .
    this.StartPosition = FormStartPosition.CenterScreen; // I write this code because I want to show the main form on the screen , not just in the taskbar .
}
Run Code Online (Sandbox Code Playgroud)

这些命令做我想要的,但问题是关闭第二个窗体后,主窗体会显示一个小跳跃,就像眨眼一样!(它不是连续的,它只是在第一个.)我想要的是顺利完成,没有任何眨眼.这怎么可能?

提前致谢.

c# winforms form-control

6
推荐指数
1
解决办法
886
查看次数

如何在Windows窗体中将.png文件用作按钮?(在C#中 - visual studio 2013)

我需要使用.png文件作为按钮.我只想向用户展示一张图片(周围没有任何额外区域).

我的问题在于设计并指定应该点击的区域.我改变了我的按钮的一些属性,但我达不到我的目的.我将FlatStyle更改为Flat或BackColor更改为Transparent,但按钮的背景周围有彩色背景.我需要完全删除背景.

我也尝试了PictureBox,但我无法再通过属性删除背景.

c# png button winforms visual-studio-2013

5
推荐指数
1
解决办法
1万
查看次数

如何在 xamarin.android 中创建新的密钥库?

我正在尝试发布一个 xamarin.android 应用程序。我在 Xamarin Android 6 中使用 Visual Studio,所以我遵循了这个. 在第 2 部分中,它描述了如何创建一个新的密钥库,如下面的屏幕截图所示(您可以在此处查看完整的描述):

在此处输入图片说明

我不知道我应该把这个命令放在哪里。我查看了那个 keytool 链接,但找不到任何东西。我尝试了 cmd、VS2015 的 MSBuild 命令提示符和 VS2015 的开发人员命令提示符,但它们都显示了这个错误:'$' 不是内部或外部命令、可运行的程序或批处理文件。

此外,我尝试使用 Visual Studio 创建一个新的密钥库。我去了工具>Android>发布Android应用程序,我创建了一个密钥库,它出现在我指定的路径中。然后我回到那个指南并从签署 APK 继续。但是没有任何带有我指定的名称和路径的 .apk。在执行所有这些操作之前,只有 3 个 .apk 无法工作。

现在我的问题是我应该在哪里使用该命令?此外,我想知道还有其他方法可以发布 xamarin.android 应用程序吗?

android publish apk xamarin.android visual-studio-2015

3
推荐指数
1
解决办法
4798
查看次数