如何使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) 我想在Xamarin Forms中的Picker上的Done按钮上触发click事件.我发现有些人有自定义渲染条目,但我们如何在Xamarin表单iOS上的Picker中实现完成按钮?
我已经为UICollectionView构建了一个自定义渲染器。
我遇到了一个问题,但我没有足够的解决办法了,就在这里。
每当用户滚动UICollectionView时,屏幕上将显示的下一个项目就会无序显示并重复显示。
您可以在GitHub上找到我的代码:https : //github.com/DanielCauser/XamarinHorizontalList
此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) 我想在我的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
我有一个名为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本机控制.
我正在使用 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
我决定加下划线Effect的Label,和做一步一步在这里,但由于某些原因,每当我有Label这个Effect,在Android和iOS我的应用程序崩溃.使用诊断日志,仍然没有消息,可以说我在哪里出问题.其实,它只是开始使我View有这个Label,在那之后我的应用程序变得不活跃,手机打开它的主屏幕,并在VS,调试立即停止.在Android设备日志中,我发现了这个:
代码类似于上面链接中的代码.我已经试图找到一些原因,实际上,我没有.我试着用硬核名字.此外,没有达到类或平台特定类中的断点.如果我,例如,注释ResolutionGroupName属性,该应用程序将工作并将Label显示,但确定没有下划线.
UPDATE
对不起,也许带有错误的iOS屏幕截图与当前问题无关.但我有一个可能是:
custom-renderer xamarin.ios xamarin.android xamarin xamarin.forms
使用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) custom-renderer ×10
xamarin ×5
xamarin.ios ×5
c# ×2
ios ×1
java ×1
jtable ×1
stepper ×1
swing ×1
uwp ×1
webview ×1
xamarin.uwp ×1
xaml ×1