小编nie*_*gus的帖子

动作栏片段活动

我正在试图将我的应用程序从actionbarsherlock迁移到Google的actionbarcompat,但ActionBarFragmentActivity不存在.我是否必须使用ActionBarActivity或者还有其他方法?

先谢谢,迭戈.

android android-actionbar-compat

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

请求Body具有可选属性

我有一个端点,通过POST请求接收JSON.

RequestMapping(value = "/app/login", method = RequestMethod.POST,
        headers = { "Content-type=application/json" })
@ResponseBody
public LoginResponse logIn(@RequestBody LoginRequest jsonRequest) {
   // code
}
Run Code Online (Sandbox Code Playgroud)

LoginRequest:

public class LoginRequest {

    private String user;

    private String password;

    private String idPush;

    private Integer idDevice;

    // getters and setters

}
Run Code Online (Sandbox Code Playgroud)

无论如何我可以指定idDevice作为可选项吗?

如果我不在json中发送idDevice,Spring会返回400错误.

spring spring-mvc

7
推荐指数
1
解决办法
8952
查看次数

Flutter SliverAppBar 与 Tabs 覆盖内容

我已经按照本教程(https://medium.com/@diegoveloper/flutter-collapsing-toolbar-sliver-app-bar-14b858e87abe)创建了一个带有 TabBar 的 CollapsingToolbar。

问题是当我滚动正文的内容时会覆盖 tabBar。

这是代码:

@override
Widget build(BuildContext context) {
return Scaffold(
  body: DefaultTabController(
    length: 2,
    child: NestedScrollView(
      headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
        return <Widget>[
          SliverAppBar(
            expandedHeight: 200.0,
            floating: false,
            pinned: true,
            flexibleSpace: FlexibleSpaceBar(
                centerTitle: true,
                title: Text("Collapsing Toolbar",
                    style: TextStyle(
                      color: Colors.white,
                      fontSize: 16.0,
                    )),
                background: Image.network(
                  "https://images.pexels.com/photos/396547/pexels-photo-396547.jpeg?auto=compress&cs=tinysrgb&h=350",
                  fit: BoxFit.cover,
                )),
          ),
          SliverPersistentHeader(
            delegate: _SliverAppBarDelegate(
              TabBar(
                labelColor: Colors.black87,
                unselectedLabelColor: Colors.grey,
                tabs: [
                  Tab(icon: Icon(Icons.info), text: "Tab 1"),
                  Tab(icon: Icon(Icons.lightbulb_outline), text: "Tab 2"),
                ],
              ), …
Run Code Online (Sandbox Code Playgroud)

overlay flutter flutter-sliver

7
推荐指数
1
解决办法
5528
查看次数

Tomcat Websocket 禁用主机名验证

我试图禁用 tomcat websocket 实现的主机名验证,但我没有找到任何示例。

我已经能够禁用证书验证:

WebSocketContainer container = ContainerProvider.getWebSocketContainer();
ClientEndpointConfig config = ClientEndpointConfig.Builder.create().build();
TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true;
SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom()
                .loadTrustMaterial(null, acceptingTrustStrategy)
                .build();

config.getUserProperties().put("org.apache.tomcat.websocket.SSL_CONTEXT", sslContext);
Run Code Online (Sandbox Code Playgroud)

官方文档说:

对于安全服务器端点,默认情况下启用主机名验证。要绕过此验证(不推荐),需要通过 org.apache.tomcat.websocket.SSL_CONTEXT 用户属性提供自定义 SSLContext。自定义 SSLContext 必须使用扩展 javax.net.ssl.X509ExtendedTrustManager 的自定义 TrustManager 进行配置。然后可以通过各个抽象方法的适当实现来控制所需的验证(或缺乏验证)。

https://tomcat.apache.org/tomcat-8.5-doc/web-socket-howto.html

但只要我了解 X509ExtendedTrustManager 用于证书验证,而不是主机名验证。

有人可以帮我吗?

java tomcat websocket

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

颤动的条子容器

我是新手,无法实现所需的布局。

我有一个带有3个标签的sliverAppBar。选项卡之一的内容必须是ScrollView化合物,由一个具有固定大小(以图像为背景)的容器和一个ListView组成。

我试图用CustomScrollView做到这一点,但我不知道如何创建容器,因为它不是条子。

你能为我指出正确的方向吗?

问候,迭戈。

scrollview flutter flutter-sliver

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

MVVM与Bloc模式

我正在使用Flutter创建一个新的应用程序,并且正在尝试设计它,将业务逻辑与视图分离。

我已经读过有关Bloc和MVVM的信息(我知道还有其他模式,但是我更喜欢这些模式),但是我不了解它们之间的区别。在我看来,它们几乎一样。

有谁能帮助我了解他们?

mvvm flutter bloc

5
推荐指数
3
解决办法
1191
查看次数

Android Kotlin按collat​​or排序

我想基于一个字段(player.name)对对象列表进行排序,但在西班牙语中存在重音,在订购时不必考虑这些重音.

我对列表进行排序:

strikers.sortedWith(compareBy { it.name })
Run Code Online (Sandbox Code Playgroud)

但我不知道如何申请上述排序

val spanishCollator = Collator.getInstance(Locale("es", "ES"))
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

问候,迭戈

sorting android kotlin

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

长按时颤动弹出菜单按钮

我试图在长按时创建的自定义小部件上显示菜单上下文(点击时有另一种行为)。

我尝试将 GestureDetector 与 onLongPress 结合使用并使用函数 showMenu,但它在角落显示菜单,而不是在按下的小部件上方。我已经看到了一种解决方法来获取小部件的位置并将其传递给 showMenu,但对我来说它看起来很混乱。

 return new GestureDetector(
    child: _defaultBuild(),
    onTap: onTap,
    onLongPress: () {
      showMenu(
        items: <PopupMenuEntry>[
          PopupMenuItem(
            //value: this._index,
            child: Row(
              children: <Widget>[
                Text("Context item1")
              ],
            ),
          )
        ],
        context: context,
        position: _getPosition(context)
      );
    }
);
RelativeRect _getPosition(BuildContext context) {
  final RenderBox bar = context.findRenderObject();
  final RenderBox overlay = Overlay.of(context).context.findRenderObject();
  final RelativeRect position = RelativeRect.fromRect(
  Rect.fromPoints(
    bar.localToGlobal(bar.size.bottomRight(Offset.zero), ancestor: overlay),
    bar.localToGlobal(bar.size.bottomRight(Offset.zero), ancestor: overlay),
  ),
  Offset.zero & overlay.size,
);
return position;
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用 PopupMenuButton 但无法在 LongPressed 上显示菜单。 …

popupmenubutton long-press flutter

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