当前位置: 首页 > 知识库问答 >
问题:

如何在Java项目中使用Kotlin库?

益楷
2023-03-14

我找到了一个符合我目的的图书馆,但它是写在Kotlin上的。我可以在Java项目中使用它吗?

框架:https://github.com/mpetlyuk/initial_tips

Kotlin上的用法:

// Create view for your tip
val inflater = LayoutInflater.from(Context)
val tipView = DataBindingUtil.inflate<ViewDataBinding>(inflater, R.layout.item_tooltip, null, false).getRoot()

// Create tip
val tip = Tooltip.Builder()
    .attachTooltipView(tipView)
    .withEnterAnimation(AnimationComposer(FadeInAnimator()).duration(ANIM_DURATION))
    .withExitAnimation(AnimationComposer(FadeOutAnimator()).duration(ANIM_DURATION))
    .withGravity(TipVerticalGravity.BOTTOM, TipHorizontalGravity.LEFT)
    .withAnchorView(/* anchor view */)
    .build()

// Create a queue of tips
val tooltipsQueue = LinkedBlockingQueue<Tip>(listOf(tip))

// Create a queue of tips
TipsManager.showTips(binding.root as ViewGroup, ContextCompat.getColor(this, 0 /* your resource color for dimming */)) { tooltipsQueue }

共有2个答案

鲁烨
2023-03-14

将库添加为依赖项,就像它是Java一样。Kotlin的设计使得它可以尽可能容易地从Java中使用,即使最终得到的代码不太漂亮(请参阅互操作文档)。要翻译特定示例,请参见如何将kotlin源文件转换为java源文件。

堵宪
2023-03-14

您首先需要在应用程序中添加支持Kotlin。只需创建临时kotlin文件,android studio就会指导您如何操作。

TextView tipView = (TextView) LayoutInflater.from(this).inflate(R.layout.item_tooltip, null, false).getRootView();
Tooltip tip = new Tooltip.Builder()
        .attachTooltipView(tipView)
        .withEnterAnimation(new AnimationComposer<BaseViewAnimator>(new FadeInAnimator()).duration(500))
        .withExitAnimation(new AnimationComposer<BaseViewAnimator>(new FadeOutAnimator()).duration(500))
        .withGravity(TipVerticalGravity.BOTTOM, TipHorizontalGravity.LEFT)
        .withAnchorView(loginButton)
        .build();

List<Tip> tips = new ArrayList<>();
tips.add(tip);
final LinkedBlockingQueue<Tip> tooltipsQueue = new LinkedBlockingQueue<>(tips);
TipsManager.showTips(rootView, R.color.colorAccent, new Function0<Queue<Tip>>() {
    @Override
    public Queue<Tip> invoke() {
        return tooltipsQueue;
    }
});
 类似资料:
  • 我想在我的应用程序中实现autolinktextview。github中有一个库,现在我想在我的应用程序中使用,但库语言是kotlin,我的应用程序项目语言是java。下面给出的库Url和我使用的依赖项。 https://github.com/armcha/AutoLinkTextViewV2

  • 虽然我在构建中集成了库。但当我在设备上运行它时,会发生以下错误。 我的代码是这样的,buidl。格拉德尔 我正在使用Lucence的类 模范班 这一切从哪里开始 }

  • 问题内容: 我对Gradle(和Java 9,说实话)还很陌生,并且我正在尝试使用Gradle构建一个简单的库项目,该项目混合了Java 9和Kotlin。更详细地讲,在Java中有一个接口,在Kotlin中有一个实现。我会在Kotlin中做所有事情,但是无论如何都是Java,所以我决定采用这种方式。 我建立在IntelliJ Idea的基础上,外部定义了1.2.0 kotlin插件和gradle

  • android{…我正在尝试在我的项目中启用ViewBinding,该项目使用Kotlin Gradle DSL。所有示例都展示了如何使用Groovy DSL实现它。 但是这个解决方案不适用于Kotlin DSL。我尝试这样的解决方案: 但它也不起作用。有趣的是,这种方法适用于数据绑定。

  • 问题内容: 我试图弄清楚Maven的用途,并且有很多文章介绍了Maven的功能和用途。但是我只是不能从生产力的角度理解Maven的实际使用。 从我在学校项目中所习惯的,就是在Eclipse中创建一个新的Java项目,编写您的代码,创建一个.war(如果基于Web),然后将代码粘贴到Tomcat的webapps文件夹中并启动服务器! 所以, Maven在哪里出现?我已经使用过Ant,并且了解Ants