2013-09-26 4 views
1

Я немного путаюсь Как использовать Фрагменты в Android-приложениях! Я начинаю работать в Android, и я пытаюсь создать приложения для планшета 7 Landscape, как вы видели на изображении ниже!Как динамически менять фрагмент?

A, B, D Как заменить фрагмент! Событием клика. Когда пользователь нажимает на A, содержимое A перемещается и отображается в D, а содержание D - в A и т. Д.

Я хочу иметь возможность динамически менять содержание A, B и D!

Что я должен использовать? Фрагмент, Фрагментная активность.

Например, если D показывает видео в VideoView, а затем, когда пользователь нажимает на AI хочет D, чтобы показать TextView или любой вид данных (но не видео View) , а также показывающие видео в А.

<pre> 
<!--> 
//////////////////////////////////////////// 
/------- -----------------------------/
/- A - -       -/
/-  - -       -/
/------- -       -/ 
/- C - -   D    -/
/-  - -       -/
/------- -       -/
/- B - -       -/
/-  - -       -/
/------- -----------------------------/
//////////////////////////////////////////// 
<--> 
</pre> 

То, что я сделал, я сделал 4 фрагмент и поместить их внутрь Main_Activity

fragment_A у меня есть проблема с свопа содержание с Д.

fragment_B у меня есть проблемы с изменением содержания D.

fragment_C Я подключился к классу Fragment_C, который показывает некоторые статические данные.

fragment_D У меня проблема с свопа содержание с А.

Я рад за Вас предложения! Спасибо!

ответ

3

Вы можете попробовать и пойти проверить FragmentTransaction

ЗАКАНЧИВАТЬ заменить/добавить/удалить фрагмент методы. Я уверен, что вы найдете то, что ищете.

например:

FragmentTransaction fragmentTransaction = activity.getSupportFragmentManager().beginTransaction(); 
     fragmentTransaction.add(container, fragment); 
     fragmentTransaction.commit(); 

и питания, как:

FragmentTransaction fragmentTransaction = activity.getSupportFragmentManager().beginTransaction(); 
     fragmentTransaction.replace(container, newFragment); 
     fragmentTransaction.commit(); 

Где container это простой вид (RelativeLayout или другие вещи).

EDIT:

Пример:

main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="horizontal" > 

<LinearLayout 
    android:id="@+id/fragment_snapshots" 
    android:layout_width="0dp" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:orientation="vertical" > 

    <fragment 
     android:id="@+id/fragment_snap1" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" /> 

    <fragment 
     android:id="@+id/fragment_snap2" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" /> 
</LinearLayout> 

<fragment 
    android:id="@+id/big_fragment" 
    android:layout_width="0dp" 
    android:layout_height="match_parent" 
    android:layout_weight="1" /> 

</LinearLayout> 

Этот макет указать, почти - за исключением того, у меня есть только 2 фрагмента на левой стороне, что вы пытаетесь делать.

Затем, используя onClickListeners и функцию, которую я дал вам выше, вы, возможно, сможете делать то, что хотите.

Ваши контейнеры будут разные идентификаторы я ставлю (big_fragment, fragment_snap1 & fragment_snap2.

+0

Спасибо для вашего ответа, который был полезен !, но мне нужен пример, чтобы дать понять, как я могу соединить код вместе! Как определить их в Activity_main и как подключить пустой контейнер! с заполнением xml полного изображения и представлений, смешанных с другой контроллер! – IamNumber5

Смежные вопросы