标签: custom-renderer

CellRenderer - 使文本变为粗体

如何使JTable中的文本变为粗体,我尝试了以下内容,它确实适用于颜色但是为了使文本变粗,我在某处出错了

    class ColourRender extends DefaultTableCellRenderer {

    public Component getTableCellRendererComponent(JTable tblData,
            Object value, boolean isSelected, boolean hasFocus, int row,
            int column) {
        Component cellComponent = super.getTableCellRendererComponent(
                tblData, value, isSelected, hasFocus, row, column);

        if (tblData.getValueAt(row, 3).equals("M")) {
            cellComponent.setForeground(forMen);

        } else {
            cellComponent.setForeground(forWomen);

        }
        return cellComponent;
    }

    class boldRenderer extends DefaultTableCellRenderer {

        public Component getTableCellRendererComponent(JTable tblData,
                Object value, boolean isSelected, boolean hasFocus,
                int row, int column) {
            Component cellComponent = super.getTableCellRendererComponent(
                    tblData, value, isSelected, hasFocus, row, column);

            if (tblData.getValueAt(row, 1).equals(bib)) {
                cellComponent.setFont(cellComponent.getFont().deriveFont(
                        Font.BOLD)); …
Run Code Online (Sandbox Code Playgroud)

java swing jtable custom-renderer tablecellrenderer

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

我们如何处理Xamarin表单选择器的完成按钮单击事件?

我想在Xamarin Forms中的Picker上的Done按钮上触发click事件.我发现有些人有自定义渲染条目,但我们如何在Xamarin表单iOS上的Picker中实现完成按钮?

custom-renderer xamarin.ios xamarin xamarin.forms

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

UICollectionView重复显示并乱序显示项目

我已经为UICollectionView构建了一个自定义渲染器。

我遇到了一个问题,但我没有足够的解决办法了,就在这里。

每当用户滚动UICollectionView时,屏幕上将显示的下一个项目就会无序显示并重复显示。

您可以在GitHub上找到我的代码:https : //github.com/DanielCauser/XamarinHorizo​​ntalList

此gif完全显示了问题所在,某些列表项出现了多次且顺序混乱。

我认为这是由于竞争状况造成的,在这种情况下,操作系统只是将数据加载到该帧中可用的视单元中。

在此处输入图片说明

这是我在Xamarin.Forms中的视图:

<local:HorizontalViewNative ItemsSource="{Binding Monkeys}"
                            Grid.Row="5"
                            VerticalOptions="Start"
                            ItemHeight="100"
                            ItemWidth="100">
                <local:HorizontalViewNative.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <ContentView>
                                <StackLayout WidthRequest="100"
                                             HeightRequest="100">
                                    <Image Source="{Binding Image}" />

                                    <Label Text="{Binding Name}"
                                               LineBreakMode="MiddleTruncation"
                                               HorizontalTextAlignment="Center"
                                               VerticalTextAlignment="Center"/>
                                </StackLayout>
                            </ContentView>
                        </ViewCell>
                    </DataTemplate>
                </local:HorizontalViewNative.ItemTemplate>
            </local:HorizontalViewNative>
Run Code Online (Sandbox Code Playgroud)

这是Xamarin.Forms项目中的My自定义控件:

public class HorizontalViewNative : View
    {
        public static readonly BindableProperty ItemsSourceProperty =
            BindableProperty.Create("ItemsSource", typeof(IEnumerable), typeof(HorizontalViewNative), default(IEnumerable<object>), BindingMode.TwoWay, propertyChanged: ItemsSourceChanged);

        public static readonly BindableProperty ItemTemplateProperty =
            BindableProperty.Create("ItemTemplate", typeof(DataTemplate), typeof(HVScrollGridView), default(DataTemplate));

        public static readonly BindableProperty ItemHeightProperty =
            BindableProperty.Create("ItemHeight", typeof(int), typeof(HVScrollGridView), default(int)); …
Run Code Online (Sandbox Code Playgroud)

custom-renderer xamarin.ios ios xamarin uicollectionview

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

如何在Xamarin.Forms中的Android WebView上启用本地存储

我想在我的Xamarin.Forms应用程序中启用HTML5 localstorage.当我部署到Android设备时,我可以看到网页出错,因为未启用localstorage.

本地,localstorage可以启用如下:

    webview = (WebView) findViewById(R.id.webview); 
    WebSettings settings = webview.getSettings(); 
    settings.setDomStorageEnabled(true);
Run Code Online (Sandbox Code Playgroud)

当我只能访问Xamarin.Forms webview(Xamarin.Forms.WebView)时,如何/在何处可以访问Android Web视图(Android.WebKit.Webview)的这些平台特定设置.

更一般地说,是否有可能在Xamarin.Forms中编写特定于平台的代码,或者Xamarin.Forms是否对除了最基本的应用程序之外的所有应用程序都有限?

custom-renderer webview android-webview xamarin xamarin.forms

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

Xamarin表单 - 自定义渲染器无法获得本机控制(UWP)

我有一个名为RecordProvider2的类.它继承自ContentView.我想在幕后获取本机控件的实例.我不确定UWP上的控件是什么,但根据这篇文章,它应该是FrameworkElement(https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/custom-renderer/renderers/) .

所以,我编写了这个自定义渲染器,并且根据所有帐户,我应该能够使用渲染器的"Control"属性访问本机控件.但是,在OnElementChanged事件中,Control属性始终为null.我究竟做错了什么?

public class RecordProvider2Renderer : ViewRenderer<RecordProvider2, FrameworkElement>
{
    protected override void OnElementChanged(ElementChangedEventArgs<RecordProvider2> e)
    {
        base.OnElementChanged(e);

        if (Control != null)
        {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:正如下面提到的,渲染器本身只是IS本机控制.

c# custom-renderer xamarin.forms uwp

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

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

Xamarin 窗体 Shell 选定选项卡的自定义图标

我正在使用 COOL xamarin shell,但我没有找到更改所选选项卡图标的方法。

<TabBar Route="sections">
    <Tab Title="home">
        <Tab.Icon>
            <FontImageSource FontFamily="{StaticResource AppIcons}" Glyph="{x:Static framework:Icons.HomePage}" />
        </Tab.Icon>
        <ShellContent ContentTemplate="{DataTemplate home:HomePage}" Route="home" />
    </Tab>
Run Code Online (Sandbox Code Playgroud)

目标是仅在选择此选项卡时使用Icons.HomePageFilled而不是用于该选项卡。Icons.HomePage相同的逻辑应该适用于其他选项卡。

我想我迷失在网上找到的解决方案中了。他们谈论自定义渲染器(ShellTabLayoutAppearanceTracker),视觉状态,效果等......但我不知道它是否可行以及理想的解决方案是什么

xaml custom-renderer xamarin.ios xamarin.android xamarin.forms

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

使用Xamarin效果时出现NullPointerException

我决定加下划线EffectLabel,和做一步一步在这里,但由于某些原因,每当我有Label这个Effect,在Android和iOS我的应用程序崩溃.使用诊断日志,仍然没有消息,可以说我在哪里出问题.其实,它只是开始使我View有这个Label,在那之后我的应用程序变得不活跃,手机打开它的主屏幕,并在VS,调试立即停止.在Android设备日志中,我发现了这个:

在此输入图像描述 在iOS设备日志中:

在此输入图像描述

代码类似于上面链接中的代码.我已经试图找到一些原因,实际上,我没有.我试着用硬核名字.此外,没有达到类或平台特定类中的断点.如果我,例如,注释ResolutionGroupName属性,该应用程序将工作并将Label显示,但确定没有下划线.

UPDATE

对不起,也许带有错误的iOS屏幕截图与当前问题无关.但我有一个可能是:

在此输入图像描述

custom-renderer xamarin.ios xamarin.android xamarin xamarin.forms

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

iOS上Xamarin中所选TabBarItem的背景颜色

使用Xamarin.Forms,我在iOS中有一个自定义的TabbedPageRenderer。现在,我可以更改所选TabBarItem上的文本颜色,但是不能更改所选Tab的背景颜色。有人知道吗?

class CustomTabbedPageRenderer : TabbedRenderer
{
   public override UIViewController SelectedViewController
   {
       get
       {
           UITextAttributes attr = new UITextAttributes();
           attr.TextColor = UIColor.White;
           if (base.SelectedViewController != null)
           {
               base.SelectedViewController.TabBarItem.SetTitleTextAttributes(attr, UIControlState.Normal);                  
               // TODO: How to set background color for ONE item?
           }
           return base.SelectedViewController;
       }
       set
       {
           base.SelectedViewController = value;
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# custom-renderer xamarin.ios xamarin xamarin.forms

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

Xamarin Forms 自定义步进器

我正在尝试制作一个自定义步进器以在我的列表视图中使用,例如这个 自定义步进器

知道如何做到这一点吗?谢谢。

custom-renderer xamarin.forms stepper

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