我找到了一个符合我目的的图书馆,但它是写在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 }
将库添加为依赖项,就像它是Java一样。Kotlin的设计使得它可以尽可能容易地从Java中使用,即使最终得到的代码不太漂亮(请参阅互操作文档)。要翻译特定示例,请参见如何将kotlin源文件转换为java源文件。
您首先需要在应用程序中添加支持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