2017-03-07 2 views
0

앱의 주 목적은 학생들에게 교육 과정을 제공하는 것입니다. 나는 두 배우가 : 교훈은 안드로이드 뷰의 조합이 될 수있는 안드로이드 응용 프로그램 내부에서 코스의 콘텐츠를 만들드래그 앤 드롭으로 새보기 만들기 (맞춤 레이아웃)

  • 교사. 이러한 과정을 확인하고 수업과 상호 작용
  • 학생들은

1 단계 (만이 수업을 볼 수) 소리를 듣고 버튼을 클릭 할 수 있습니다 드래그를 구현그리고 지금까지 내가 가지고있는 편집자에게
드롭 새 뷰 (ImageViews TextViews ... 등)를 만들 수 있었습니다. & 새 레이아웃에 드롭합니다.

그러나 일단 내가 떨어 뜨리면 더 이상 제어 할 수 없습니다. 이제는 레이아웃 스타일이 제한됩니다. 원하지 않는 레이아웃입니다. 나는,보기 추가 등 자신의 위치, 크기를 변경할 수 있습니다 안드로이드 스튜디오 레이아웃 에디터의 수준에 도달 할

2 단계 :저장 레이아웃 당신이 레이아웃을 저장하는 방법을 제안 학생들에게 보여줄 데이터. JSON? XML?

3 단계 :구문 분석 레이아웃 데이터
나는 XML 파서를 구현 내가 안드로이드 스튜디오에서 생성 한 레이아웃을 사용하여 테스트했습니다. 그러나 당신의 제안에 따라 나는 내가 수업을 해석하는 방식을 바꿀지도 모른다.

드래그 & DropLayout 편집기 - 강사 레이아웃 - 학생 레이아웃 - 안드로이드 스튜디오

pic

나는 다음과 같은 제안

답변

0

:

  • 1 단계

사용자 정의 만들기를 ca 위의 모든 위젯에 대한보기 n을 놓으십시오 (LinearLayout, ImageView 등). 그들 모두는 다음과 같은 인터페이스를 구현하자 Layout 그 뷰의 레이아웃 (XML 또는 JSON) 및 LayoutEditor의 직렬화 표현

interface Layout { 
    Layout getLayout(); 
    LayoutEditor getLayoutEditor(); 
} 

하면 해당 View (layout_width, layout_height 배경에 속성을 수정하는 데 사용할 수있는 다른 인터페이스입니다 등) 2

그래서 당신이 가진 후

  • 무대 위젯을 드래그 앤 드롭하여 Layout 인터페이스를 구현하는 뷰 뷰 계층 구조를 얻을 수 있습니다.이 트리를 반복적으로 방문하고 각 뷰에서 getLayout()으로 전화하여 Layout 계층 구조를 함께 만듭니다. 그런 다음 직렬화하고 저장할 수 있습니다. 3

  • 단계는 당신이 Layout 저장 한 레이아웃 트리를 통해 산책과 함께보기 계층 구조를 다시 역 직렬화.

    일부 호흡을 위해 proteus을 확인하십시오. JSON 레이아웃을 사용하여 기본 Android보기를 확장합니다.

+0

LayoutEditor를 사용하여보기의 크기를 조정하거나 크기를 조정할 수 있는지 또는 끌어서 놓기에서만 작동하는지 생각해보십시오. 미리 감사드립니다. 이것을 테스트 할 것입니다. –

+0

캔버스 위젯을 오랫동안 누르거나 두 번 탭하면 사용자가 나타나거나 속성 값을 편집하거나 추가 또는 삭제할 수있는 양식을 엽니 다. . 크기 조정의 크기 조정은 구현하기 어려울 수 있습니다. 당신이가는 길은 모든 사용자 정의 위젯에 터치 리스너와 제스처 감지기를 만드는 것입니다. 개인적으로 나는 앱의 버전 1을 말하면 과도하게 죽일 것이라고 생각합니다. – vader

+0

레이아웃 편집기는 양식을 작성하고 양식과 상호 작용하는 데 사용할 인터페이스입니다. set (String 속성, Object 값) 및 Object getAtrribute (String name) 메소드가있을 수 있습니다. 또한 Iterator getAllAttributes()를 사용하여 양식 페이지를 작성할 수 있습니다. 아니면 그 라인에 뭔가. 내가 도움이되기를 바란다. 프로젝트에 최선을 다하십시오. – vader

관련 문제