作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我需要你的帮助!
我从事跨平台移动开发项目。我将 Visual Studio 与 Xamarin Forms 结合使用。我想制作一个带有 SearchBar(Xamarin.Forms 类)的页面,但是,我的问题是 SearchBar 图标的个性化,尤其是在 Android 平台上。我的搜索一无所获。如果您知道一种编辑图标的方法,我将不胜感激。 (我有一个模型可以遵循,所以我想改变的是图标而不是颜色)。
提前致谢!
最佳答案
Introduction to Custom Renderers
您可以相当轻松地对常用的 Xamarin.Forms
控件进行子类化,以便对控件进行面向平台的微小更改。
在上面的示例中,我创建了两个 SearchBar 子类,一个允许自定义图标,另一个允许删除图标,Xamarin.Android
呈现如下:
protected override void OnElementChanged (ElementChangedEventArgs<SearchBar> e)
{
base.OnElementChanged (e);
if (Control != null) {
var searchView = Control;
searchView.Iconified = true;
searchView.SetIconifiedByDefault (false);
// (Resource.Id.search_mag_icon); is wrong / Xammie bug
int searchIconId = Context.Resources.GetIdentifier ("android:id/search_mag_icon", null, null);
var icon = searchView.FindViewById (searchIconId);
(icon as ImageView).SetImageResource (Resource.Drawable.icon);
}
protected override void OnElementChanged (ElementChangedEventArgs<SearchBar> e)
{
base.OnElementChanged (e);
if (Control != null) {
var searchView = Control;
searchView.Iconified = true;
searchView.SetIconifiedByDefault (false);
// (Resource.Id.search_mag_icon); is wrong / Xammie bug
int searchIconId = Context.Resources.GetIdentifier ("android:id/search_mag_icon", null, null);
var icon = searchView.FindViewById (searchIconId);
icon.Visibility = Android.Views.ViewStates.Gone;
}
}
关于android - 如何在 Android 上编辑 SearchBar Xamarin Forms 的图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36724216/
我是一名优秀的程序员,十分优秀!