2012-06-15 31 views
5

Tôi thích thiết kế ứng dụng Gmail dành cho Android và tôi tự hỏi liệu họ có tạo ra nó bằng cách sử dụng một số phương pháp tiêu chuẩn hay không.Bố cục/kiểm soát Android để hiển thị "mũi tên" từ tab đã mở tới Danh sách/Menu?

Tôi đoán nó sử dụng phân đoạn, một cho menu ở bên trái và một cho nội dung. Nhưng những gì trông thực sự mát mẻ đối với tôi ở đây là mũi tên nhỏ này trỏ từ nội dung đến mục đã chọn. Nó cho cảm giác rằng trang nội dung được đặt trên đầu trang của phần còn lại.

Có nội dung nào đó có sẵn trong hộp không?

enter image description here

+0

Chắc chắn không nằm ngoài hộp trong ngăn xếp giao diện người dùng Android chuẩn. Bên cạnh đó, ứng dụng trông đáng ngờ như HTML. Dù sao, hình tam giác không phải là một phần của khung bên phải - đó là một phần tử hiển thị động trên mục danh sách. Cũng như biên giới bị phá vỡ. –

Trả lời

1

Hình như ông đang sử dụng 2 ListViews, và theo như mũi tên mà tôi không nghĩ rằng nó có sẵn. Tôi đã xem xét rất nhiều tính năng 4.0 nhưng không thực sự thấy bất cứ điều gì gần đó. Tôi nghĩ rằng nó có thể là một phần của nền cho ListView quyền?

+0

Không, phải là một chế độ xem danh sách (bên trái) và chế độ xem tùy chỉnh (bên phải). Quá khó để giữ cho hai chế độ xem danh sách được đồng bộ hóa. Tôi có nghĩa là nó sẽ là quá khó khăn để định vị mũi tên từ chế độ xem danh sách thứ hai. –

2

Tôi nghĩ rằng họ đang sử dụng android: windowContentOverlay ở bên trái mục đã chọn nơi chúng hiển thị "mũi tên" giống như có thể vẽ. Có thể vẽ được phải có android: gravity = "right" để nó được đặt chính xác.

Tất nhiên, bạn sẽ cần phải tinh chỉnh bố cục của bạn để làm cho nó trông "thực", nhưng tôi đã đạt được một số hiệu ứng tương tự bằng cách sử dụng kỹ thuật này.

+0

Tôi sẽ thêm vào ở trên mà drawable cũng nên chứa một bóng (nếu có một ở giữa, không thể làm cho nó ra khỏi ảnh chụp màn hình), sao cho nó sẽ pha trộn với các phân cách hoàn hảo và có vẻ như đó là một tiếp tục của nó. –

+0

Giả sử bảng điều khiển bên trái là một ListView, làm cách nào để giữ cho mục được chọn được tô sáng sau khi nó được phát hành? Tôi đã thử sử dụng bộ chọn nhưng nó chỉ giữ cho nó được tô sáng khi bạn giữ mục được nhấn. – gisek

+0

Tôi biết. Điều đó không hiệu quả. Những gì tôi đã làm là xem mục của tôi (vì vậy một hàng listview) thực hiện Checkable và sau đó sử dụng setViewemChecked của ListView (vị trí, true) khi tôi muốn làm cho một mục hoạt động khác nhau. Theo quan điểm của bạn, bạn nên thay đổi màu nền của khung nhìn/có thể vẽ theo những gì bạn cần. Tôi cũng sử dụng một thành viên boolean mChecked trong quan điểm của tôi, để theo dõi trạng thái dễ dàng hơn. Hãy chú ý đến ** luôn luôn * gọi setItemKiểm tra khi bạn muốn mục đó thay đổi trạng thái. Việc đặt mChecked trực tiếp sẽ khiến cho chế độ xem của bạn hoạt động không đúng do mục tái chế.Cho tôi biết làm thế nào nó đi. –

0

Bố cục nhân: phía bên trái một phân đoạn danh sách (hoặc phân đoạn với recyclerview), bên phải một đoạn với chế độ xem nội dung (scrollview, listview, recyclerview, webview, v.v.).

Nếu mục ở bên trái được chọn (mô hình lựa chọn duy nhất), công cụ chọn sử dụng một mức khác nhau cho trạng thái đã chọn và cập nhật nội dung ở bên phải. Có thể mục listview có phần đệm bổ sung ở cuối để tránh trùng lặp với mũi tên bitmap có thể vẽ được sử dụng trong bộ chọn.

Trên Lollipop cũng có thể có hiệu ứng gợn bổ sung ở trên cùng (vẽ bộ chọn ở trên cùng hoặc sử dụng một drawable-v21 cụ thể với gợn).

Hiệu ứng đổ bóng có thể đạt được với phần khung hình bên trái (thành viên đầu tiên là listview, thành viên thứ hai là một khung nhìn hiển thị bóng (gradient drawable) làm nền với lực hấp dẫn được đặt kết thúc).

Các vấn đề liên quan