![](/img/trans.png)
[英]How do I use android:keyOutputText for my Xamarin custom keyboard?
[英]Xamarin: How do I apply the following android theme to my activity at runtime?
我有以下活动将主题指定为属性
[Activity(Label = "PermissionsActivity", Theme = "@android:style/Theme.Translucent.NoTitleBar")]
public class PermissionsActivity: Activity
这很好用,但是如何在运行时应用相同的功能? 也许可以通过在OnCreate
调用SetTheme
来实现。 我可以看到SetTheme接受资源ID整数。 我很难找到上述主题的相应Xamarin.Android常量。 请帮忙
将主题添加到Resource文件夹下的style.xml
文件中,然后以int
从资源中访问主题
<style name="MyTheme" parent="Theme.Translucent.NoTitleBar">
</style>
进行活动
this.SetTheme(Resource.Style.MyTheme);
在您的onCreate方法中添加以下代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Call setTheme before creation of any(!) View.
setTheme(android.R.style.Theme_Dark);
// ...
setContentView(R.layout.main);
当您在android项目资源下的任何文件夹中添加某个主题时,Visual Studio会执行的操作是在resource文件夹下的ResourceDesigner.cs文件内创建一个相应的int值。
现在,在运行时中,当您需要将它们添加到代码中时,它们可以按如下方式使用:
Resource.Style.YourResourceName
Resource.Dimen.YourResourceName
可用 Resource.String.YourResourceName
可用 Resource.Drawable.YourResourceName
可用 Resource.Mipmap.YourResourceName
在Resource.Mipmap.YourResourceName
可用,依此类推。 注意:这些属性始终是整数。
在您的情况下,因为它是一个主题(基本上是一种样式)
因此,您可以在Activity中获得以下信息:
this.SetTheme(Resource.Style.MyTheme);
在一个片段中,像这样:
this.Activity.SetTheme(Resource.Style.MyTheme);
希望这可以帮助,
如有查询,请还原。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.