2012-06-25 2 views
0

응용 프로그램에서 구현해야하는 디자인에 대한 조언이 필요합니다. 여기에 보이는 모습이 있습니다 (이미지의 해상도가 낮아서 미안하지만, 지금은 그게 전부입니다).Android 사용자 인터페이스 디자인 - 통합하는 가장 좋은 방법은 무엇입니까?

User Interface

그래서 디자인의 기본 개념은 이것이다 :
나는 하나 개의 UI 구성 요소는, 내 상황에서 나는 어떤 종류의에 대한 정보를 개최하여 ProgressBar (빨간색 채우기로 하나) 사용이 사용자 데이터. 예를 들어 사용자가 노래 목록을 가지고 있다면 진행률 막대의 최대 값은 모든 노래 수이며, 진행률은 지금 재생중인 트랙에 의해 설정됩니다. 56 곡이 있고 23 곡을 재생하면 해당 정수에 따라 진행률이 계산됩니다. 그리고 진행률 막대 위의 점들은 내가 선호하는 노래인지 아닌지를 나타냅니다. 예를 들어 23 번째 곡을 재생하고 즐겨 찾기에있는 경우 동일한 위치의 진행 표시 줄 위에 점이 표시되어야합니다.

제 질문은 진도 표시 줄 위에 점을 추가 할 때 사용해야하는 UI 구성 요소입니다. 내가 RelativeLayout/LinearLayout/FrameLayout에 대해 생각하고 있었지만, 나는 그들이 다음과 같이 할 수있는 함수를 가지고 있지 않다는 것을 알고있다 : layout.addView(view, x, y);xy은 좌표이다. 아니면 이것을하는 것이 올바른 방법일까요? 아마 내가 성취하고자하는 일을하는 더 좋은 방법이있을 것입니다. 다른 SubClass (View)을 사용하십시오.

모든 종류의 도움/조언/의견을 환영합니다!

미리 감사드립니다.

답변

1
  1. 안드로이드에 완전히

  2. 항상 DP (밀도 독립적 픽셀)을 사용 (당신이 참조로 화면 측정을 사용하지 않는 경우) 레이아웃 배치를 정의하기위한 특정 값을 사용하는 것이 사용하지 않는 것이 좋습니다 FILL_PARENT와 WRAP_CONTENT가 트릭을하지 않으면 간격과 위치를 정의한다.

안드로이드에는 복잡성과 필요성에 따라 위의 규칙을 따르는 데 도움이되는 다양한 종류의 레이아웃이 있습니다.

<LinearLayout> 
<CustomView/> 
<ProgressBar /> 
</LinearLayout> 

그래서 사용자 지정보기는 점을 실제로있을 것이다 : 귀하의 경우

내가 좋아하는 수직 방향으로 선형 레이아웃을 사용하는 것이 좋습니다.

사용자 정의보기에서 가로 방향으로 LinearLayout을 확장 할 수 있습니다. weight라는 매개 변수가 있습니다.이 매개 변수는 각 하위 뷰에 설정할 수 있으며 하위 뷰의 너비 (경우에 따라)를 전체 레이아웃 너비의 특정 비율로 설정합니다.

0

RelativeLayout을 사용하면 필요한 것을 얻을 수 있습니다. RelativeLayout의 위쪽 여백과 왼쪽 여백을 설정하여 레이아웃에서 원점 (x, y)으로 자식보기를 만들 수 있습니다.

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
                     RelativeLayout.LayoutParams.WRAP_CONTENT); 
    params.leftMargin = x; 
    params.topMargin = y; 
    view.setLayoutParams(params); 
관련 문제