我想通过说我对移动开发,Xamarin,C#,.Net完全陌生而言.
我正在努力使用Xamarain Forms创建一个移动应用程序,并且遇到了无法使用滑动手势的问题,至少根据我看到的文档.
我找到了这个网站:http://arteksoftware.com/gesture-recognizers-with-xamarin-forms/
这描述了如何为IOS/Android添加一些额外的手势,以便在表单的上下文中访问.在我尝试遵循这一点之前,我想看看是否有其他人已经在Xamarin Forms应用程序中实现了滑动以及它们是如何实现的.
我的目标是必须有一个水平堆栈布局.此布局包含7个按钮,每个按钮反映当前一周的一天.在堆栈布局上向左滑动会将按钮的文本更改为上一周.向右滑动会将按钮的文本更改为下周.
所以我也尝试使用MVVM和XAML.那么我可以分开向左滑动和向右滑动动作吗?我想使用ICommand根据滑动的方向将某个参数传递给函数.
任何这个或任何建议的例子将不胜感激.
我正在构建一个coordinator layout
由工具栏构成的,一个隐藏在滚动上的相对布局,一个总是静态的布局scrollable list
,以及一个RecyclerView
.
我现在按照我的要求进行布局,如下所示:
下一张图片就是我在回收器视图中向上滚动的样子.
所以我的橙色视图隐藏在我想要的地方,这是完美的.我唯一缺少的就是将"标题1"文本视图移动到工具栏的标题中.我已经看过他们已经用图像做了类似事情的例子,但是还没有能够通过自定义行为复制它.我假设这会是什么?
有没有人对我的布局是否需要改变以使其成为可能有任何建议,以及任何有关自定义行为的建议,如果这将是什么?
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
<!-- HEADER -->
<RelativeLayout
android:id="@+id/rel1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_collapseMode="parallax"
android:background="@color/lightGreen"
android:layout_marginTop="?attr/actionBarSize"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:id="@+id/title1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Resist the urge"
android:textSize="35sp"
android:includeFontPadding="true"
android:layout_centerInParent="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/resistUrgeTitleTextView"
android:layout_centerHorizontal="true"
android:text="Use a method below to help."
android:includeFontPadding="true"/>
</RelativeLayout>
<FrameLayout
android:id="@+id/main.framelayout.title"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_gravity="bottom|center_horizontal"
android:background="@color/lightOrange"
android:orientation="vertical"
app:layout_collapseMode="parallax"
> …
Run Code Online (Sandbox Code Playgroud) 所以在更新到 Jacoco 0.8.2 之后,我的数据类代码覆盖率大大提高,因为它现在过滤掉了大部分生成的函数,“equals”、“hashcode”等......但是,它仍然在寻找所有的测试Kotlin 生成的 getter 和 setter。
我是否缺少其他设置来过滤掉这些设置?我知道我可以过滤掉整个类或目录,但理想情况下有一种方法可以过滤掉这些函数。以下是我目前为 Jacoco 完成的 gradle 任务。
project.jacoco {
toolVersion = '0.8.2'
}
project.tasks.create(
name: 'jacocoTestReport',
type: JacocoReport,
dependsOn: "test${capVariant}UnitTest"
) {
def buildDir = project.buildDir
def coverageSourceDirs = [
"src/main/java",
"src/main/kotlin"
]
def fileFilter = [
'**/R.class',
'**/R$*.class',
'**/*$ViewInjector*.*',
'**/*_Factory.*',
'**/*_MembersInjector.*',
'**/*$ViewBinder*.*',
'**/BuildConfig.*',
'**/Manifest*.*',
'**/di/**',
'**/*Activity*.*',
'**/*Fragment*.*',
'**/*Adapter*.*',
'**/*ViewHolder*.*',
'**/reusableComponents/**',
'**/App.*'
]
def javaClasses = fileTree(
dir: "$buildDir/intermediates/classes/$folder",
excludes: fileFilter
)
def kotlinClasses = fileTree(
dir: "$buildDir/tmp/kotlin-classes/$variant",
excludes: fileFilter
)
KotlinGeneratedFilter = true …
Run Code Online (Sandbox Code Playgroud) 我有一个多模块项目。我希望能够分别运行我为这些模块编写的仪器测试。当我运行测试并初始化活动时,我不断遇到以下错误。
默认 FirebaseApp 在此过程中未初始化。确保首先调用 FirebaseApp.initializeApp(Context)。
我尝试在测试代码中使用测试应用程序的上下文显式调用此函数,但无济于事。我知道 firebase 是通过配置文件设置的,但我没有明确调用它来设置它。在实际应用程序启动之前,它会通过内容提供商(阅读博客)自动初始化。
因为这将是一个静态调用,并且我们没有显式调用它,所以我也看不到模拟它的方法。有没有办法在我的模块中完全禁用 UITest 运行的 firebase ?
我的屏幕上有一个嵌套滚动条,占据了屏幕的 90%,还有一个固定的底部选项卡。我正在研究屏幕上的辅助功能,但遇到了一个问题:只要每个项目在屏幕上可见,TalkBack 就会正确导航到它们。一旦您到达可见项目的底部并尝试滑动以转到下一个项目,滚动视图就会滚动,但 TalkBack 焦点会跳转到固定在屏幕上的底部选项卡,从而绕过所有新的可见项目。
有什么设置或者我缺少什么吗?滚动视图内的项目对于可访问性都很重要,如果我将屏幕设置为将它们显示在屏幕上,TalkBack 的导航会击中它们并正确读取它们。
谢谢