canhuah/WanAndroid-Flutter

你的启动页是怎么实现的呢

Closed this issue · 4 comments

你的启动页是怎么实现的呢

启动页Android和iOS两种情况都要处理:

Android
进入.../android/app/src/main文件夹。在res/drawable/launch_background.xml,通过自定义drawable来实现自定义启动界面。

iOS(因为我没mac 所以还没试哈)
进入.../ios/Runner。在Assets.xcassets/LaunchImage.imageset, 拖入图片,并命名为images LaunchImage.png、LaunchImage@2x.pngLaunchImage@3x.png。 如果使用不同的文件名,那还必须更新同一目录中的Contents.json文件。

也可以通过打开Xcode完全自定义storyboard。在Project Navigator中导航到Runner/Runner然后通过打开Assets.xcassets拖入图片,或者通过在LaunchScreen.storyboard中使用Interface Builder进行自定义。

更详细的可以点击我查看
@Sky24n

我使用dio实现登录接口,为什么总是提示 账号密码不匹配呢?你能帮我看看吗?
test() async {
try {
Dio dio = new Dio();
dio.options.baseUrl = "http://www.wanandroid.com/";
String name = 'canhuah';
String password = 'a123456';
Response response = await dio
.post("user/login", data: {"username": name, "password": password});
print("data: " + response.data.toString());
} catch (e) {
print("---------" + e.toString());
}
}

I/flutter (20455): data: {data: null, errorCode: -1, errorMsg: 账号密码不匹配!}

主要是请求时的contentType不对

看了下源码Dio的contentType默认是ContentType.JSON
而这里用到的是ContentType.parse("application/x-www-form-urlencoded");

test() async {
print("-----start----");
try {
Dio dio = new Dio();
dio.options.baseUrl = "http://www.wanandroid.com/";
String name = 'canhuah';
String password = 'a123456';

  //添加Options  设置Dio的contentType
  Options options = new Options();
  options.contentType = ContentType.parse("application/x-www-form-urlencoded");

  Response response = await dio
      .post("user/login", data: {"username": name, "password": password},options: options);
  print("data: " + response.data.toString());
} catch (e) {
  print("---------" + e.toString());
}

}
@Sky24n

可以了,非常感谢。