小编Gun*_*Fan的帖子

根据材料设计指南实施SearchView

我一直在寻找根据材料设计指南在活动工具栏(操作栏)中实现搜索视图的方法.

单击搜索图标时,整个工具栏将动画为仅具有白色背景的搜索EditText,并在主视图中显示建议而不是下拉列表.

以下是指南中的屏幕截图: 在此输入图像描述

以下是Gmail收件箱实施的GIF: 在此输入图像描述

我一直在寻找代码示例和教程,但到目前为止我一直没有成功.我该怎么做呢?

android searchview material-design

37
推荐指数
4
解决办法
6万
查看次数

片段中的GreenRobot EventBus错误:没有订阅者注册事件类

我有一个活动,它的布局包含一个FrameLayout.我使用framelayout作为片段容器.我使用FragmentManager事务替换FrameLayout中的片段.

在其中一个片段的onCreate方法中,我使用EventBus注册片段.

@Override
public void onCreate(){
  EventBus.getDefault().register(this);
  // other initialization code
}
Run Code Online (Sandbox Code Playgroud)

该片段在其布局中具有GridView.每当点击gridView中的项目时,我都会向EventBus发布一个事件

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){
    View rootView = inflater.inflate(R.layout.fragment_category, container, false);
    gridView = (GridView) rootView.findViewById(R.id.categry_grid_view);
    gridAdapter = new CustomGridAdapter(getActivity());
    gridView.setAdapter(gridAdapter);

    gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            Category clickedCategory = gridAdapter.getItem(position);
            EventBus.getDefault().post(new MyEvent());
        }
    });
Run Code Online (Sandbox Code Playgroud)

此事件的事件处理程序方法位于同一片段中,即片段具有以下方法

public void onEvent(MyEvent e){
    //some code;
}
Run Code Online (Sandbox Code Playgroud)

这可以正常工作,直到应用程序失去焦点并变为非活动状态(由于按下主页按钮或屏幕锁定).当我再次激活应用程序时,不会调用事件的事件处理程序.我可以在LogCat中看到以下语句

com.example.app D/Event? No subscribers registered for event class com.example.app.MyEvent
com.example.app D/Event? No subscribers …
Run Code Online (Sandbox Code Playgroud)

android android-fragments greenrobot-eventbus

15
推荐指数
1
解决办法
2万
查看次数

Next.js 中的“next export”和“next build”有什么区别?

我开发了一个 Web 应用程序,它使用 Nextjs 应用程序作为前端和一个 Python (Django) API 服务器作为后端。我的大多数前端页面都有对后端服务器的 API 调用(在 ComponentDidMount 中或响应用户操作,如按钮点击)。

我想将此应用程序部署到我的服务器。我使用 Nginx 作为反向代理。后端部署已排序。我对部署 nextjs 应用程序感到困惑。

阅读文档后,我认为有两种方法可以做到这一点:

  1. 运行next build然后next start。这将在端口 3000 上启动一个 nodejs 服务器。我可以使用 nginx 将流量引导到这个端口。
  2. 运行next export。这将生成一个out目录。我可以使用像 Nginx 这样的反向代理将传入流量引导到这个目录。

我应该使用这两个选项中的哪一个?有什么区别?

deployment next.js

14
推荐指数
2
解决办法
7498
查看次数

在ES6类中未定义静态方法,并在reactjs中使用装饰器

我有一个带装饰器的ES6课程.它有一个静态方法foo.但是,当我尝试访问静态方法时,其未定义.

@withStyles(styles)
class MyComponent extends Component {
    static foo(){
        return "FOO";
    }
    render(){
        var x = MyComponent.foo; // x=undefined
    }
}
Run Code Online (Sandbox Code Playgroud)

当我删除装饰器时,我可以访问静态方法.它不再是未定义的.

class MyComponent extends Component {
    static foo(){
        return "FOO";
    }
    render(){
        var x = MyComponent.foo; // x=foo()
    }
}
Run Code Online (Sandbox Code Playgroud)

这个问题有解决方法吗?

javascript reactjs ecmascript-7

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

如何使用 gunicorn 部署 Django + Whitenoise 应用程序?

我正在使用Whitenoise在我的 Django 应用程序中提供静态文件。我没有使用 Nginx。我计划将来在像 Cloudfront 这样的 CDN 后面使用 Whitenoise。请参阅白噪声常见问题解答

我一直在寻找处理这些问题的部署说明:

  1. 由于我没有使用nginx,我打算将gunicorn直接绑定到80端口。这会导致错误 - Permission Denied。我可以以 root 身份运行 gunicorn,但这似乎是一个糟糕的方法。

  2. 如何处理 SSL 证书的东西?通常这是由 Nginx 之类的服务器处理的。

编辑:我正在Google Cloud Compute Engine上的Ubuntu 18.04 VM上部署我的应用程序。

PS:我的网站不会是一个非常高流量的网站。其他人已使用此配置为高流量的网站提供服务。请参阅从 Heroku 上的 Django 应用程序中榨取每一滴性能

deployment django gunicorn whitenoise

5
推荐指数
1
解决办法
2114
查看次数