2017-01-22 9 views
0

Ich möchte meine App "remake". Ich schreibe bereits eine App und es funktioniert OK. Aber es verwenden Activity und Spinner, um zwischen den Bildschirmen zu wechseln - das ist zu unbequem und langsam. Ich finde hier ein Beispiel von Fragment-Nutzung für benutzer komfortable Bedienung und schnelle Schaltvorgänge beetween Bildschirme mit klauen: http://www.theappguruz.com/blog/android-tab-layout-with-swipeable-viewsAndroid - Ändern RelativeLayout zu Fragment

aber ich kann nicht für sie aus meiner app gesetzt RelativeLayout, weil es Fragment verwenden. Gibt es eine Möglichkeit, die Markup-Datei (* .xml) zu kopieren, ohne grundlegende Änderungen an der Anwendung vorzunehmen?

Ich habe versucht, es (die kommentierte Codezeile) zu tun, aber es funktioniert nicht.

FirstTab.java

import android.graphics.Color; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.Gravity; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.LinearLayout.LayoutParams; 
import android.widget.TextView; 

public class FirstTab extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     /*View view=inflater.inflate(R.layout.tab_first, container, false); 
     Button imageView = (Button) getView().findViewById(R.id.btn_quit); 
     return view;*/ 

     TextView tv = new TextView(getActivity()); 
     tv.setText("First Tab"); 
     tv.setGravity(Gravity.CENTER); 
     tv.setTextColor(Color.WHITE); 
     tv.setWidth(LayoutParams.MATCH_PARENT); 
     tv.setHeight(LayoutParams.MATCH_PARENT); 
     tv.setBackgroundColor(Color.RED); 
     tv.setTextAppearance(getActivity(),android.R.style.TextAppearance_Large); 
     return tv; 
    } 
} 

first_tab.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 
    android:paddingBottom="5sp" 
    android:paddingTop="5sp" 
    android:paddingRight="5sp" 
    android:paddingLeft="5sp" 
    android:background="@color/colorPrimary"> 

    <Spinner 
     android:entries="@array/activity_list" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/spinner" 
     android:layout_alignRight="@+id/view1" 
     android:layout_alignEnd="@+id/view1" 
     android:layout_toRightOf="@+id/btn_quit" 
     android:layout_toEndOf="@+id/btn_quit" 
     android:layout_alignBottom="@+id/btn_quit" 
     android:layout_alignParentTop="true" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Close\napp" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:id="@+id/btn_quit" 
     android:onClick="quit" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 

    <View 
     android:layout_width="fill_parent" 
     android:layout_height="5dp" 
     android:background="@android:color/holo_orange_light" 
     android:id="@+id/view1" 
     android:layout_below="@+id/btn_quit" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/eng_text" 
     android:paddingTop="10dp" 
     android:paddingBottom="10dp" 
     android:paddingLeft="10dp" 
     android:paddingRight="10dp" 
     android:background="@android:color/white" 
     android:hint="Enter text" 
     android:minLines="1" 
     android:layout_below="@+id/view1" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:inputType="textCapSentences|textAutoCorrect|textMultiLine" 
     android:maxLines="7"/> 

    <View 
     android:layout_width="fill_parent" 
     android:layout_height="5dp" 
     android:background="@android:color/holo_orange_light" 
     android:id="@+id/view" 
     android:layout_below="@+id/eng_text" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/morse_text" 
     android:paddingTop="10dp" 
     android:paddingBottom="10dp" 
     android:paddingLeft="10dp" 
     android:paddingRight="10dp" 
     android:background="@android:color/white" 
     android:hint="Get a code" 
     android:minLines="1" 
     android:layout_below="@+id/view" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:inputType="textCapSentences|textAutoCorrect|textMultiLine" 
     android:maxLines="8" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Translate" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:id="@+id/trans_btn" 
     android:layout_above="@+id/btn_sound" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentRight="true" 
     android:onClick="translate"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="left|bottom" 
     android:text="Play\ncode:" 
     android:id="@+id/play_label" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/trans_btn" 
     android:layout_toLeftOf="@+id/btn_sound" 
     android:layout_toStartOf="@+id/btn_sound" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/btn_sound" 
     android:layout_alignParentBottom="true" 
     android:layout_toLeftOf="@+id/btn_flash" 
     android:layout_toStartOf="@+id/btn_flash" 
     android:padding="2dp" 
     android:onClick="play_sound"/> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/btn_flash" 
     android:layout_alignParentBottom="true" 
     android:layout_alignRight="@+id/view" 
     android:layout_alignEnd="@+id/view" 
     android:padding="2dp" 
     android:onClick="play_flash"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="Current input\nlanguage:" 
     android:id="@+id/cur_lang" 
     android:layout_alignTop="@+id/trans_btn" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/btn_flag" 
     android:layout_alignTop="@+id/cur_lang" 
     android:layout_toRightOf="@+id/cur_lang" 
     android:layout_toEndOf="@+id/cur_lang" 
     android:enabled="false"/> 

</RelativeLayout> 

First two screenshoots - what I have; Third - what I want to do

+0

ersten zwei Screenshoots - app, unter Verwendung Spinner zum Schalten; Drittens - Sie können zwischen den Registerkarten wischen. Hilf mir, mein Layout auf Tab zu setzen. –

Antwort

1

Sie möchten Ihre ganze drei Aktivitäten zur Umwandlung in eine einzige Seite mit Blick Pager passen

  1. Machen Sie eine neue Aktivität mit Root-Tag ein android.supprot.v4.ViewPager

  2. den Adapter und all die anderen Dinge einrichten

  3. In Ihrem ersten Registerkarte verwenden Sie folgenden Code

    public View onCreateView (LayoutInflateter inflater, ViewGroup-Container, Bundle savedInstanceState) { Ansicht anzeigen = inflater.inflate (R.layout.tab_first, container, false);

    Button button = (Button)view.findViewById(R.id.btn_quit); 
        button.setText("Working quit"); 
        return view; 
    

    }

Verwendung Ansicht eines der Elemente der first_tab zuzugreifen

+0

Schaltfläche button = (Schaltfläche) view.findViewById (R.id.btn_quit); ---- Danke vielmals! Das spart viel Zeit für mich! –

+0

Ihr Willkommen, wenn Sie Funktionen in der Fragment-Pass-Ansicht verwenden, so dass Sie Ansichten in diesem Funktionen selbst verwenden können –

+0

Ja, ich weiß es. Funktioniert wie bei Aktivität, aber: –

Verwandte Themen