2012-07-17 2 views
0

내 응용 프로그램에는 10-15 개의 필드가 들어있는 채울 양식이 있습니다. 그래서 나는 인터랙티브로 만드는 것이 한 번에 10-15 개의 모든 필드를 보여주는 것이 아니라 이해한다고 생각했다.안드로이드에서 대화 형 레이아웃을 만드는 가장 좋은 방법

앱 :

가 나는처럼되고 싶어 question1을 텍스트

사용자로 : 응용 프로그램 및 사용자는 해당 ImageViews 될 것

EDITTEXT

에서 ANSWER1.

답변에 따라 두 번째 질문이 표시됩니다.

접근 1 : 모든 imageViews이 TextViews 및 글고 필드의 가시성 (다음 질문 텍스트 대답에 따라 달라집니다) false로 설정하고 이전 질문에 대답 후에 볼 수 있도록 한

실제로 내가 이런 짓을하지만, 거기에 몇 가지 문제가 있습니다 :

문제 1 : 레이아웃을 ScrollView로 만들었으므로 사용자는 레이아웃의 하단 (보기가 보이지 않음)으로 스크롤 할 수 있으므로 뷰가 보이지 않는 긴 폼임을 알 수 있습니다.

문제 2 : 모든 질문은 TextViews이지만 모든 대답 필드는 EditText가 아니며 일부는 스피어이며 일부는 체크 상자입니다. 그래서 전 답변에 따라 스피너 또는 확인란을 실 거예요 (만약 내가 어떤 보이지 않는보기를 건너 뛰고 다음보기로 건너 뛰면 빈 공간을 만듭니다)

접근 방식 2 : 동적으로 모든보기를 만듭니다 이것은 약간의 시간이 걸릴 것입니다. 다시 UX 문제입니다.)

내가 원하는 것을 얻기 위해 더 나은 방법이 있습니까 ?? 그리고 내 문제 1과 2가있는 경우 해결책을 알려주십시오.

답변

1

가장 간단한 방법은 마법사/설문지의 각 섹션이 별도의 활동이 될 수 있다는 것입니다.

그러나 이러한 유형의 작업에 대해 동일한 활동에서 요소를 추가하거나 제거하는 것이 더 좋습니다.

당신이 생각하고 싶은 또 다른 포인트는 네비게이션 즉, 다음 질문으로 진행할뿐 아니라 이전 질문으로 돌아갈 수 있다는 것입니다. 단일 액티비티에서 상태를 추적하는 것은 그다지 좋지 않지만 각 액티비티가 다음 및 이전 액티비티를 추적하기 때문에 이전 액티비티로 전환하는 것이 잠재적으로 더 간단 할 수 있습니다.

+0

당신은 각 질문이 새로운 활동이어야 함을 의미합니까? ... 사용자가 이전 질문에 답하는 것을보고 싶다면 버튼을 여러 번 눌러야합니다. –

+0

그것은 내가 말한 것처럼 당신이 그것을 레이아웃하는 방법에 달려 있습니다. 당신은 여러 액티비티로 할 수 있습니다. 하나의 액티비티로 할 수 있습니다. 그것은 전적으로 당신에게 달려 있습니다. 모범 사례는 아니지만 사용자와 어떻게 상호 작용할 것인지에 대한 디자인 결정입니다. 귀하의 신청서와 함께. –

+0

두번째 요점으로 .. "그러나 나는 이런 종류의 작업을 위해 동일한 활동에서 요소를 추가하고 제거하는 것을 선호한다." 동적으로 뷰를 추가하고 제거하는 것을 의미합니까 ?? –

2

보이지 않는보기를 만드는 대신 ViewStub을 사용하십시오. 이렇게하면 레이아웃에서 공간을 차지하지 않습니다.

관련 문제