플래이스토어 새 앱으로 출시, 설문조사 키보드 안닫힘 해결
This commit is contained in:
parent
67faa04935
commit
90d84b7cc7
@ -1,4 +1,4 @@
|
|||||||
# allscore_app
|
# allscore
|
||||||
|
|
||||||
A new Flutter project.
|
A new Flutter project.
|
||||||
|
|
||||||
|
@ -13,15 +13,15 @@ if (keystorePropertiesFile.exists()) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "com.allscore_app"
|
namespace = "com.allscore"
|
||||||
compileSdkVersion 34
|
compileSdkVersion 34
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.allscore_app"
|
applicationId "com.allscore"
|
||||||
minSdkVersion 23
|
minSdkVersion 23
|
||||||
targetSdkVersion 34
|
targetSdkVersion 34
|
||||||
versionCode 19
|
versionCode 22
|
||||||
versionName "1.1.0"
|
versionName "1.1.3"
|
||||||
}
|
}
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
@ -8,33 +8,33 @@
|
|||||||
"client": [
|
"client": [
|
||||||
{
|
{
|
||||||
"client_info": {
|
"client_info": {
|
||||||
"mobilesdk_app_id": "1:452355332155:android:152995468604d10d13e41e",
|
"mobilesdk_app_id": "1:452355332155:android:fc70db048c73540513e41e",
|
||||||
"android_client_info": {
|
"android_client_info": {
|
||||||
"package_name": "com.allscore_app"
|
"package_name": "com.allscore"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth_client": [
|
"oauth_client": [
|
||||||
{
|
{
|
||||||
"client_id": "452355332155-jcnodseb4t2bgq2mo1a6h3bn4ncp5o8c.apps.googleusercontent.com",
|
"client_id": "452355332155-ebejb33njonaur1f9q9kmeto910kcgd4.apps.googleusercontent.com",
|
||||||
"client_type": 1,
|
"client_type": 1,
|
||||||
"android_info": {
|
"android_info": {
|
||||||
"package_name": "com.allscore_app",
|
"package_name": "com.allscore",
|
||||||
"certificate_hash": "0f5c83605937a4aa55d6097253473b285bb18418"
|
"certificate_hash": "95d683602b8d4c6194547823c2001007408e40ec"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"client_id": "452355332155-lqtr6l2qg0pn62vi5nccggldmcm21qdl.apps.googleusercontent.com",
|
"client_id": "452355332155-g7hpnu3lk0ak9nb9nr174ms81ch319ha.apps.googleusercontent.com",
|
||||||
"client_type": 1,
|
"client_type": 1,
|
||||||
"android_info": {
|
"android_info": {
|
||||||
"package_name": "com.allscore_app",
|
"package_name": "com.allscore",
|
||||||
"certificate_hash": "761f8d2290ebb091acdf3cf8400df65245047fb8"
|
"certificate_hash": "761f8d2290ebb091acdf3cf8400df65245047fb8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"client_id": "452355332155-t29ceato8o62c9kq9drefe7b6hd1ka1d.apps.googleusercontent.com",
|
"client_id": "452355332155-u1vmjm9o71aogjfe2qnonmkoe6s5gso0.apps.googleusercontent.com",
|
||||||
"client_type": 1,
|
"client_type": 1,
|
||||||
"android_info": {
|
"android_info": {
|
||||||
"package_name": "com.allscore_app",
|
"package_name": "com.allscore",
|
||||||
"certificate_hash": "83fe36945bd0f037a7b934f9737a4fa94c47872d"
|
"certificate_hash": "83fe36945bd0f037a7b934f9737a4fa94c47872d"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -64,8 +64,7 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"admob_app_id": "ca-app-pub-6461991944599918~9492697896"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"configuration_version": "1"
|
"configuration_version": "1"
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.allscore_app">
|
package="com.allscore">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
||||||
|
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
|
||||||
|
|
||||||
|
|
||||||
<application
|
<application
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package com.allscore_app
|
package com.allscore
|
||||||
|
|
||||||
import io.flutter.embedding.android.FlutterActivity
|
import io.flutter.embedding.android.FlutterActivity
|
||||||
|
|
||||||
|
@ -247,63 +247,73 @@ class _SurveyPageState extends State<SurveyPage> {
|
|||||||
_onExitSurvey();
|
_onExitSurvey();
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
child: Scaffold(
|
child: GestureDetector( // 화면 터치시 키보드 닫기 위해 추가
|
||||||
appBar: AppBar(
|
onTap: () {
|
||||||
leadingWidth: 120,
|
FocusScope.of(context).unfocus();
|
||||||
leading: TextButton(
|
},
|
||||||
onPressed: _onExitSurvey,
|
child: Scaffold(
|
||||||
child: const Text(
|
resizeToAvoidBottomInset: true, // 키보드가 올라올 때 화면 리사이즈
|
||||||
'Stop Survey',
|
appBar: AppBar(
|
||||||
style: TextStyle(color: Colors.white),
|
leadingWidth: 120,
|
||||||
),
|
leading: TextButton(
|
||||||
),
|
onPressed: _onExitSurvey,
|
||||||
title: Text('Survey ($pageNumber/$totalPage)'),
|
child: const Text(
|
||||||
backgroundColor: Colors.black,
|
'Stop Survey',
|
||||||
),
|
style: TextStyle(color: Colors.white),
|
||||||
body: SingleChildScrollView(
|
|
||||||
child: Container(
|
|
||||||
alignment: Alignment.center,
|
|
||||||
padding: const EdgeInsets.all(16),
|
|
||||||
child: Column(
|
|
||||||
children: [
|
|
||||||
// 현재 페이지의 질문
|
|
||||||
Text(
|
|
||||||
questionText,
|
|
||||||
style: const TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
|
|
||||||
textAlign: TextAlign.center,
|
|
||||||
),
|
|
||||||
const SizedBox(height: 24),
|
|
||||||
// 페이지별 UI
|
|
||||||
_buildSurveyPage(_currentIndex),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
bottomNavigationBar: Container(
|
|
||||||
color: Colors.white,
|
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
if (_currentIndex > 0)
|
|
||||||
Expanded(
|
|
||||||
child: ElevatedButton(
|
|
||||||
style: ElevatedButton.styleFrom(backgroundColor: Colors.grey),
|
|
||||||
onPressed: _onPrev,
|
|
||||||
child: const Text('Previous'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
if (_currentIndex > 0) const SizedBox(width: 8),
|
|
||||||
Expanded(
|
|
||||||
child: ElevatedButton(
|
|
||||||
style: ElevatedButton.styleFrom(backgroundColor: Colors.black),
|
|
||||||
onPressed: (_currentIndex < totalPage - 1) ? _onNext : _onSubmit,
|
|
||||||
child: Text(
|
|
||||||
(_currentIndex < totalPage - 1) ? 'Next' : 'Submit',
|
|
||||||
style: const TextStyle(color: Colors.white),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
],
|
),
|
||||||
|
title: Text('Survey ($pageNumber/$totalPage)'),
|
||||||
|
backgroundColor: Colors.black,
|
||||||
|
),
|
||||||
|
body: SingleChildScrollView(
|
||||||
|
child: Container(
|
||||||
|
alignment: Alignment.center,
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
questionText,
|
||||||
|
style: const TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
),
|
||||||
|
const SizedBox(height: 24),
|
||||||
|
_buildSurveyPage(_currentIndex),
|
||||||
|
const SizedBox(height: 100), // 하단 여백 추가
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
bottomNavigationBar: Padding(
|
||||||
|
padding: EdgeInsets.only(
|
||||||
|
bottom: MediaQuery.of(context).viewInsets.bottom, // 키보드 높이만큼 버튼도 올라가도록
|
||||||
|
),
|
||||||
|
child: Container(
|
||||||
|
color: Colors.white,
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
if (_currentIndex > 0)
|
||||||
|
Expanded(
|
||||||
|
child: ElevatedButton(
|
||||||
|
style: ElevatedButton.styleFrom(backgroundColor: Colors.grey),
|
||||||
|
onPressed: _onPrev,
|
||||||
|
child: const Text('Previous'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
if (_currentIndex > 0) const SizedBox(width: 8),
|
||||||
|
Expanded(
|
||||||
|
child: ElevatedButton(
|
||||||
|
style: ElevatedButton.styleFrom(backgroundColor: Colors.black),
|
||||||
|
onPressed: (_currentIndex < totalPage - 1) ? _onNext : _onSubmit,
|
||||||
|
child: Text(
|
||||||
|
(_currentIndex < totalPage - 1) ? 'Next' : 'Submit',
|
||||||
|
style: const TextStyle(color: Colors.white),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -329,6 +339,8 @@ class _SurveyPageState extends State<SurveyPage> {
|
|||||||
labelText: 'Your country',
|
labelText: 'Your country',
|
||||||
border: OutlineInputBorder(),
|
border: OutlineInputBorder(),
|
||||||
),
|
),
|
||||||
|
textInputAction: TextInputAction.done,
|
||||||
|
onSubmitted: (_) => FocusScope.of(context).unfocus(),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
@ -351,6 +363,8 @@ class _SurveyPageState extends State<SurveyPage> {
|
|||||||
labelText: 'Age',
|
labelText: 'Age',
|
||||||
border: OutlineInputBorder(),
|
border: OutlineInputBorder(),
|
||||||
),
|
),
|
||||||
|
textInputAction: TextInputAction.done,
|
||||||
|
onSubmitted: (_) => FocusScope.of(context).unfocus(),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
name: allscore_app
|
name: allscore
|
||||||
description: "A new Flutter project."
|
description: "A new Flutter project."
|
||||||
publish_to: 'none'
|
publish_to: 'none'
|
||||||
version: 1.1.0+19
|
version: 1.1.3+22
|
||||||
environment:
|
environment:
|
||||||
sdk: '>=3.5.3 <4.0.0'
|
sdk: '>=3.5.3 <4.0.0'
|
||||||
flutter: ">=3.16.0"
|
flutter: ">=3.16.0"
|
||||||
|
Loading…
Reference in New Issue
Block a user