2011-10-22 33 views
6

không ai biết (hoặc có thể chỉ cho tôi một ví dụ) về cách tôi có thể phát triển một ứng dụng hoạt động giống như gmail tổ ong? Làm cách nào để chuyển giữa bố cục khung và thay đổi kích thước của chúng để hiển thị nội dung. giống như khi bạn bấm vào tin nhắn của bạn và sau đó các mảnh trôi nổi để lại chỗ cho thông điệp, và se đoạn có chứa bạn hộp biến mất.Tổ ong Gmail Giống như ứng dụng

Trả lời

6

Tôi nghĩ bạn buồn tất cả :) Cung cấp bố cục cho các thành phần của bạn, tôi khuyên bạn nên sử dụng LinearLayout với hướng nằm ngang. Sau đó, bạn thêm tất cả ba mảnh vào nó, và bạn ẩn phần thứ ba - chứa Tin nhắn.

FolderListFragment folderListFragment = new FolderListFragment(); 
MessageListFragment messageListFragment = new MessageListFragment(); 
MessageFragment messageFragment = new MessageFragment(); 

FragmentTransaction ft = getFragmentManager().beginTransaction(); 
ft.add(container_view_layout, folderListFragment); 
ft.add(container_view_layout, messageListFragment); 
ft.add(container_view_layout, messageFragment); 
ft.hide(messageFragment); 
ft.commit(); 

Sau đó, khi bạn muốn hiển thị đoạn thông điệp:

void showMessage(Message message) { 
    // Initialize messageFragment 
    messageFragment.setMessage(message); 
    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
    ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left); 
    ft.hide(folderListFragment); 
    ft.show(messageFragment); 
    ft.commit(); 
} 

void showFolders() { 
    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
    ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right); 
    ft.hide(folderListFragment); 
    ft.show(messageFragment); 
    ft.commit(); 
} 

Và đối với các hình ảnh động các slide_in_left cho mảnh thư mục sẽ là, bạn có thể lấy được những người khác (400 là chiều rộng của các thành phần):

<set> 
    <objectAnimator 
     android:propertyName="x" 
     android:duration="500" 
     android:valueFrom="-400" 
     android:valueTo="0" 
     android:valueType="intType"/> 
</set> 
Các vấn đề liên quan