小编Cha*_*sia的帖子

Android中的灵活空间

使用本教程实现灵活空间模式(具有折叠工具栏的模式).

我正在尝试实现与Lollipop Contacts活动类似的效果,该活动在进入活动时开始查看图像标题的唯一部分:

在此输入图像描述

然后,用户可以向下滚动图像下方的布局,以便显示更多内容,直到达到最大值:

在此输入图像描述

在我的应用程序中,我无法使其工作.

结果是,当进入活动时,图像标题以其最大尺寸(AppBarLayout的大小)呈现,就像上面的布局一样,并且与Lollipop Contacts活动不同,它只显示图像的一部分.

这是设置AppBarLayout高度的代码(我希望屏幕宽度为最大高度):

int widthPx = getResources().getDisplayMetrics().widthPixels;
AppBarLayout appbar = (AppBarLayout)findViewById(R.id.appbar);
appbar.setLayoutParams(new CoordinatorLayout.LayoutParams(CoordinatorLayout.LayoutParams.MATCH_PARENT, widthPx));
Run Code Online (Sandbox Code Playgroud)

这是设置RecyclerView的代码.尝试使用scrollToPosition,认为它会提升RecyclerView的视图,但它根本没有效果:

mRecyclerView = (RecyclerView) findViewById(R.id.activity_profile_bottom_recyclerview);

    mRecyclerView.setHasFixedSize(true);

    // use a linear layout manager
    mLayoutManager = new LinearLayoutManager(this);

    mRecyclerView.setLayoutManager(mLayoutManager);

    // specify an adapter (see also next example)
    if(mAdapter == null){
        mAdapter = new ProfileAdapter(this, user, inEditMode);
        mRecyclerView.setAdapter(mAdapter);
    }

    mRecyclerView.scrollToPosition(mAdapter.getItemCount() - 1); // itemCount is 4
Run Code Online (Sandbox Code Playgroud)

这是布局xml:

<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_profile"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent" …
Run Code Online (Sandbox Code Playgroud)

java android android-layout material-design android-5.0-lollipop

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

如何检查两个对象是否具有相同的属性名称集?

我正在为我的应用程序使用node,mocha和chai.我想测试我的返回结果数据属性与我的模型对象之一是"对象类型".(与柴的实例非常相似).我只是想确认这两个对象具有相同的属性名称集.我特别对属性的实际值不感兴趣.

让我们说我有像下面的模型人.我想检查我的results.data是否具有与预期模型相同的属性.所以在这种情况下,Person具有firstName和lastName.

因此,如果results.data.lastNameresults.data.firstName同时存在,那么它应该返回true.如果其中任何一个不存在,则应返回false.如果results.data具有任何其他属性(如results.data.surname),那么它将返回false,因为在Person中不存在姓氏.

该模型

function Person(data) {
  var self = this;
  self.firstName = "unknown";
  self.lastName = "unknown";

  if (typeof data != "undefined") {
     self.firstName = data.firstName;
     self.lastName = data.lastName;
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript mocha.js node.js chai

52
推荐指数
5
解决办法
7万
查看次数

React Native app卡在空白的白色屏幕上,使用Nuclide进行远程调试

重现/截图的步骤

应用指令中的所有操作:

  1. 使用"$ react-native init [project name]"创建空白React Native项目

  2. 命令Palette(Cmd-Shift-P)中选择"Nuclide React Native:Start Packager"以启动React Native Server.

  3. 启动服务器后,您可以在应用程序开始运行时启动React Native Debugger.从命令Palette(Cmd-Shift-P)启动"Nuclide React Native:Start Debugging".

  4. 确保您位于React Native项目的根目录中,然后从命令行运行应用程序:"$ react-native run-ios"(或选择其他现有的模拟器,例如react-native run-ios - 模拟器= "的iPhone4s").(重要提示:#4应遵循#3之后,并且应关闭chrome调试器).

  5. 从iOS模拟器按Cmd-D(Linux上的Ctrl-D).这将为您的应用程序调出选项.选择"远程调试JS".

环境

Atom版本1.15.0

核素插件版本0.214.0

React Native版本:0.42.3

平台(iOS,Android或两者兼而有之?):iOS

设备信息模拟器/设备? - 模拟器iOS 10.2/iOS 8.1

OS版本? - MacOS 10.12.3

调试/发布? - 调试


同一个文档中说:"......从模拟应用程序启用调试(#5)后,Nuclide将自动附加到该调试过程,因为我们已经启动了上面的调试器(#3)." 在我点击"远程调试JS"之前,我看到按预期工作反应应用程序: 工作反应app

在我点击"Debug JS Remotely"之后,我看到Nuclide调试器将其状态从"Starting debugger ..."更改为"debugee当前正在运行".正如预期的那样:

debugee目前正在运行

但是,在我单击"远程调试JS"后,我看到白屏 白色的屏幕

而且没有任何错误.一旦我关闭远程调试,一切都会再次正常加载.

这只发生在Nuclide调试器上,使用chrome调试器一切正常.

debugging react-native nuclide-editor

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

react-native run-ios packager构建错误 - AwesomeProject快速启动

问题

Open 在这里反应原生问题

我已经广泛研究了这个错误(~2天的开发时间),但不知何故仍然没有解决方案 - 我已经运行了以前的React Native设置,并认为可能会解决为最后一步(请参阅问题结束).简而言之,当我react-native run-ios从示例"AwesomeProject"目录运行时,我在React Packager launchPackager.command窗口中收到以下错误.

〜/ AwesomeProject2/node_modules/react-native/packager~ /Users/alexanderhandy/AwesomeProject2/node_modules/react-native/local-cli/cli.js:74 const setupEnvScript = /^win/.test(process.platform)^^ ^^^ SyntaxError:在严格模式下使用const.在Module.load(模块)处的Module._compile(vm.js:73:16)位于Module._compile(module.js:443:25)的Object.Module._extensions..js(module.js:478:10)处.js:355:32)在Function.Module._load(module.js:310:12)的Function.Module.runMain(module.js:501:10)at at node(node.js:129:10)at node .js:814:3~

我的设置

  • Macbook Pro 2012 - OS X 10.11 El Capitan
  • Xcode(v7.2.1)
  • 节点(v5.7.0)和NVM(0.31.0)
  • React Native(v0.20.0)

脚步

  • 笔记本电脑升级到El Capitan(按照上面的版本) - 在过去的6个月里用得不多,所以回来运行一些设置
  • 试图安装时尝试对原生设置做出反应并运行自制程序时出错.在运行git status时发现了许多文件的一些意外更改 - 因此进入相关的usr/local homebrew目录并运行git fetch; git reset --hard origin/master
  • 将Xcode更新到v7以上(根据上面的版本)
  • 安装了nvm和最新节点以解决来自Node的错误警告 - 注意:由于某种原因必须. ~/.nvm/nvm.sh在终端中运行以使nvm正常工作,当我没有v5.7.0变成v0.12.4时.当错误运行时,我有双重检查节点是v5.7.0
  • 终于完成了实际构建应用程序的运行react-native init AwesomeProject完成但挂了10分钟
  • 跑了react-native run-ios,得到了错误,并尝试添加source ~/.bash_profile这里node_modules/react-native/packager/react-native-xcode.sh建议 …

react-native

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

如何在intellij上为react本机项目设置java代码完成?

React-native组织其项目,如:

android
--build.gradle
--settings.gradle
ios
node_modules
index.android.js
index.ios.js
Run Code Online (Sandbox Code Playgroud)

它有点乱,需要编辑js,java和目标c代码,android studio不支持任何javascript代码完成.所以我决定使用intellij.

问题是,如果我在根级别打开,intellij不能运行gradle,它会说 Error running build (1): Module 'ReactLearning' is not backed by gradle

但是,如果我在./androidandroidstudio或intellij中打开它,它工作正常,我可以看到所有外部库和代码完成.但是现在我无法在根级别编辑任何代码.我可以让2个编辑器在根处打开一个,专门为android编写一个,但是IDE会不断地覆盖彼此的文件.

有什么我可以告诉IDE/gradle相关项目是一个子目录下来?

android intellij-idea react-native

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

如何使用react-native-web和react-navigation在一起并从web url访问

更新:

反应导航网络支持已完成.请遵循:https: //reactnavigation.org/docs/en/web-support.html

原文:

我尝试在react-native和web之间共享我的代码.当我尝试react-native-web时,它运作良好.但是只有一个问题,如何从网址访问特定的屏幕?我读了react-navigation的文档,没有任何相关内容.和react-router-native可以捕获web url,但它有导航器喜欢StackNavigator/DrawerNavigator.那个想法?

react-native react-router-v4 react-navigation react-native-web react-router-native

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

STL /范围算法计算加权平均值

假设我有一个等级向量,其中等级是

struct Grade{
   const int grade;
   const int ECTS; // weight
};
Run Code Online (Sandbox Code Playgroud)

是否有STL / range-v3算法/算法使我能够做到这一点?

我知道我可以std:: accumulate用一些花哨的类型作为累加器(记住重量的总和)来做到这一点,但是我正在寻找一个更简单的替代方法(如果存在)。

c++ stl weighted-average range-v3

13
推荐指数
2
解决办法
312
查看次数

无法使用内容同步操作(syncrepl)从OpenLDAP Server获取已删除的项目

我在Ubuntu 19.04 VM上设置了OpenLDAP服务器,并允许复制(使用本教程:https : //help.ubuntu.com/lts/serverguide/openldap-server.html#openldap-server-replication)。复制的一切似乎都可以。我尚未设置消费者服务器,因为我的代码将像一个服务器一样,定期拉出修改后的元素。

修改/添加的条目已正确检索,但是我想删除项目,但似乎无法正常工作。

如RFC https://tools.ietf.org/html/rfc4533#section-3.3.2所述,我应该收到一个同步信息消息,其中包含名为“ syncUUIDs”的属性

syncUUID包含一组自上次同步操作以来已从内容中删除的条目和引用的UUID

我的同步请求控制初始化

syncRequestValue = BerConverter.Encode("{iob}", new object[] { refreshOnly, cookieSrc, true });
testdsrc = new DirectoryControl("1.3.6.1.4.1.4203.1.9.1.1", syncRequestValue, true, true);

Run Code Online (Sandbox Code Playgroud)

将控件添加到请求,然后发送它。

request.Controls.Add(testdsrc);
connection.SendRequest(request);
response = (SearchResponse)connection.SendRequest(request);
Run Code Online (Sandbox Code Playgroud)

获取条目,这里我删除了1个条目,修改了1个并添加了1个,我只得到2个条目(添加/修改的条目)

entries = response.Entries;
if (response.Entries.Count > 0)
{
    object[] controlvalue = BerConverter.Decode("{Ob}", 
    response.Controls[0].GetValue());
    cookieSrc = (byte[])controlvalue[0];
    var refreshDeletes = (bool)controlvalue[1];
    File.WriteAllBytes(strFileName, cookieSrc);
}
Run Code Online (Sandbox Code Playgroud)

您是否知道它来自我的LDAP服务器的配置还是来自C#中的代码?

我不知道是否:

  • 我的服务器发送了正确的响应,而SearchResponse类不知道如何解释它

要么

  • 如果我的服务器配置错误并且根本不发送已删除条目的列表...

c# directoryservices ldap openldap .net-core

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

如何通过uid检查注释(文本)是否属于当前用户

因此,我试图创建一个函数,用户可以删除自己的评论/报告其他人。

我已经在帖子中完成了此操作,所以我假设我将使用相同的方法..它正在获取注释UID的所有者,并检查该用户是否为当前用户。如果是当前用户,那么我将设置警报控制器以显示“删除”,否则将是“报告”

这是正确运行的post函数的示例代码


  func handleOptionsTapped(for cell: FollowingCell) {

 guard let post = cell.post else { return }

        // If post belongs to current user display delete action sheet.. else report

if post.ownerUid == Auth.auth().currentUser?.uid {
            let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)

            alertController.addAction(UIAlertAction(title: "Delete Post", style: .destructive, handler: { (_) in
                post.deletePost()

Run Code Online (Sandbox Code Playgroud)

也是中的帖子值 FollowingCell

 var post: Post? {
        didSet {
            guard let ownerUid = post?.ownerUid else { return }
            guard let imageUrl = post?.imageUrl else { return } …
Run Code Online (Sandbox Code Playgroud)

ios firebase swift firebase-authentication

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

从 R 中的数据帧创建相关矩阵

我有一个相关性数据框,看起来像这样(尽管我的真实数据中有大约 15,000 行)

phen1<-c("A","B","C")
phen2<-c("B","C","A")
cors<-c(0.3,0.7,0.8)

data<-as.data.frame(cbind(phen1, phen2, cors))

    phen1  phen2   cors
1     A      B      0.3
2     B      C      0.7
3     C      A      0.8

Run Code Online (Sandbox Code Playgroud)

这是在外部创建并读入 R 中,我想将此数据框转换为相关矩阵,其中 phen1 和 2 作为该矩阵的行和列的标签。我只为下三角形或上三角形计算过这个,我没有对角线的 1。所以我希望最终结果是一个完整的相关矩阵,但第一步可能是创建下/上三角形,然后转换为我认为的完整矩阵。我不确定如何做这一步。

此外,结果可能不是直观的顺序,但我不确定这是否重要,但理想情况下我想要一种方法来做到这一点,它使用 phen1 和 phen 2 中的标签来确保矩阵具有正确的值在正确的地方,如果这有意义吗?

基本上为此,我想要这样的结果作为最终结果:

  A    B    C
A 1    0.3  0.8
B 0.3  1    0.7
C 0.8  0.7  1
Run Code Online (Sandbox Code Playgroud)

r matrix correlation

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