2016-08-01 8 views
1

Ich habe mehrere Fragmente, die sich innerhalb meiner Aktivität dynamisch ändern. Einige Instanzen Fragmente müssen im Querformat hinzugefügt werden, während einige im Hochformat. Wie gebe ich den Winkel an, in dem ein Fragment zu einer Aktivität hinzugefügt werden muss?Fragment in einem bestimmten Winkel hinzufügen

Mein aktueller Code:

getfragmentManager.beginTransaction() 
       .setCustomAnimations(R.animator.fadein, R.animator.fadeout) 
       .add(R.id.fragment_container, playerPane, tag).commit(); 

onCreateView Methode:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View rootView = inflater.inflate(R.layout.fragment_player_pane, container, false); 
    FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) rootView.getLayoutParams(); 

    // set width height 
    params.height = (getArguments().getInt(HEIGHT)); 
    params.width = (getArguments().getInt(WIDTH)); 


    params.setMargins((getArguments().getInt(LEFT_MARGIN)), 
      (getArguments().getInt(TOP_MARGIN)), 
      (getArguments().getInt(RIGHT_MARGIN)), 
      (getArguments().getInt(BOTTOM_MARGIN))); 

    rootView.setLayoutParams(params); 

    return rootView; 
} 

Antwort

0

Sie die Konfiguration des Gerätes überprüfen, um zu sehen, ob es im Hoch- oder Quer ist und verwenden, die in einem if-Anweisung Starten Sie ein anderes Fragment.

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { 
    // launch portrait fragment 
} else { 
    // launch landscape fragment 
} 

Als Ergänzung wäre, wenn ich diese Anwendung geschrieben haben, ich versuche, von der Orientierung durch die Verwendung nicht zu ändern, welches Fragment hinzugefügt je nach Ausrichtung wird, sondern das Fragment selbst seine Ansichten unterschiedlich präsentieren habe je gezielte XML und prüft innerhalb dieses Fragments selbst.

0

Nun Fragment wird eine Root-Ansicht haben, Sie legen den Winkel dafür fest und haben Drehungen.

1. Programatically 

view.setRotation((float) 45.0); //example 

2. Xml 
      android:rotation="" 
      android:rotationX="" 
      android:rotationY="" 

Ich frage mich, was die Notwendigkeit, dies zu tun. Wenn es wirklich mehr Orientierung Fragen bitte gehen Sie durch untenstehenden Link

multiple screens support

erforderlich für die Unterstützung