繁体   English   中英

如何通过现有活动在Android Studio中创建片段

[英]How to create fragments in Android studios from existing activities

我在网上搜索过,仍然无法找到有关如何从现有活动中创建片段的帮助。 例如,我有一个仪表板活动和一个菜单活动,我想使用这些活动来创建片段,以便将平板电脑上的两个页面都显示为一个屏幕。

我也想创建从菜单页面到其他页面的片段。 例如,一旦单击其中一个活动,我想在一侧显示菜单页面,在另一侧显示类别。

我只能找到列表视图和详细示例。 我是否需要为每个活动创建片段。 请指教。

菜单活动。 爪哇

public class MenuActivity extends ActionBarActivity {


    private Toolbar toolbar;

    ImageButton museummenubtn;
    ImageButton theatremenubtn;
    ImageButton fooddrinkmenubtn;
    ImageButton leisuremenubtn;
    ImageButton shoppingmenubtn;
    ImageButton historicalmenubtn;
    ImageButton parkmenubtn;
    ImageButton familyfunmenubtn;
    ImageButton travelinformenubtn;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);

        ImageButton museummenubtn = (ImageButton) findViewById(R.id.museum_icon);
        museummenubtn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), MuseumActivity.class);
                startActivityForResult(myIntent, 0);
                finish();
            }

        });

        ImageButton theatremenubtn = (ImageButton) findViewById(R.id.theatre_icon);
        theatremenubtn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), TheatreActivity.class);
                startActivityForResult(myIntent, 0);
                finish();
            }

        });

        ImageButton fooddrinkmenubtn = (ImageButton) findViewById(R.id.fooddrink_icon);
        fooddrinkmenubtn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), FoodAndDrinksActivity.class);
                startActivityForResult(myIntent, 0);
                finish();
            }

        });

        ImageButton leisuremenubtn = (ImageButton) findViewById(R.id.leisure_icon);
        leisuremenubtn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), LeisureActivity.class);
                startActivityForResult(myIntent, 0);
                finish();
            }

        });

        ImageButton shoppingmenubtn = (ImageButton) findViewById(R.id.shopping_icon);
        shoppingmenubtn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), ShoppingActivity.class);
                startActivityForResult(myIntent, 0);
                finish();
            }

        });

        ImageButton historicalmenubtn = (ImageButton) findViewById(R.id.histroy_icon);
        historicalmenubtn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), HistoricalActivity.class);
                startActivityForResult(myIntent, 0);
                finish();
            }

        });

        ImageButton parkmenubtn = (ImageButton) findViewById(R.id.park_icon);
        parkmenubtn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), ParksActivity.class);
                startActivityForResult(myIntent, 0);
                finish();
            }

        });

        ImageButton familyfunmenubtn = (ImageButton) findViewById(R.id.familyfun_icon);
        familyfunmenubtn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), FamilyFunActivity.class);
                startActivityForResult(myIntent, 0);
                finish();
            }

        });

        ImageButton travelinformenubtn = (ImageButton) findViewById(R.id.travelinfor_icon);
        travelinformenubtn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), TravelInformationActivity.class);
                startActivityForResult(myIntent, 0);
                finish();
            }

        });


        toolbar = (Toolbar) findViewById(R.id.tool_bar);
        setSupportActionBar(toolbar);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        int id = item.getItemId();

        if (id == R.id.action_user) {
            Intent intent= new Intent(this,DashboardActivity.class);
            startActivity(intent);
            return true;
        }

        int id1 = item.getItemId();

        if (id1 == R.id.action_setting) {
            Intent intent= new Intent(this,DashboardActivity.class);// Settings Class once it is created.
            startActivity(intent);
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

}

activitymenu.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    tools:context=".MainActivity">

    <include
        android:id="@+id/tool_bar"
        layout="@layout/tool_bar"
        ></include>


    <RelativeLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="170dp"
        android:id="@+id/linearLayout"
        android:weightSum="1"
        android:background="#ffffff"
        android:layout_below="@+id/tool_bar">

        <ImageButton
            android:layout_width="125dp"
            android:layout_height="170dp"
            android:id="@+id/museum_icon"
            android:background="#ffffff"
            android:src="@drawable/museumicon"
            android:scaleType="fitXY" />

        <ImageButton
            android:layout_width="125dp"
            android:layout_height="170dp"
            android:id="@+id/theatre_icon"
            android:background="#00000000"
            android:src="@drawable/theatreicon"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/museum_icon"
            android:layout_toEndOf="@+id/museum_icon"
            android:scaleType="fitXY" />

        <ImageButton
            android:layout_width="125dp"
            android:layout_height="170dp"
            android:id="@+id/fooddrink_icon"
            android:src="@drawable/foodicon"
            android:background="#ffffff"
            android:layout_gravity="center_vertical"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/theatre_icon"
            android:layout_toEndOf="@+id/theatre_icon"
            android:scaleType="fitXY" />

    </RelativeLayout>

    <RelativeLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="170dp"
        android:layout_below="@+id/linearLayout"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/linearLayout2"
        android:background="#ffffff">

        <ImageButton
            android:layout_width="125dp"
            android:layout_height="170dp"
            android:id="@+id/leisure_icon"
            android:background="#ffffff"
            android:scaleType="fitXY"
            android:src="@drawable/leisureicon" />

        <ImageButton
            android:layout_width="125dp"
            android:layout_height="170dp"
            android:id="@+id/shopping_icon"
            android:background="#00000000"
            android:scaleType="fitXY"
            android:src="@drawable/shoppingicon"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/leisure_icon"
            android:layout_toEndOf="@+id/leisure_icon" />

        <ImageButton
            android:layout_width="125dp"
            android:layout_height="170dp"
            android:id="@+id/histroy_icon"
            android:src="@drawable/historicalicon"
            android:scaleType="fitXY"
            android:background="#ffffff"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/shopping_icon"
            android:layout_toEndOf="@+id/shopping_icon" />
    </RelativeLayout>
    <RelativeLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="170dp"
        android:id="@+id/linearLayout3"
        android:layout_below="@+id/linearLayout2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:background="#ffffff"
        android:layout_alignParentBottom="true">

        <ImageButton
            android:layout_width="125dp"
            android:layout_height="170dp"
            android:id="@+id/park_icon"
            android:background="#ffffff"
            android:scaleType="fitXY"
            android:src="@drawable/parkicon" />

        <ImageButton
            android:layout_width="125dp"
            android:layout_height="170dp"
            android:id="@+id/familyfun_icon"
            android:background="#00000000"
            android:scaleType="fitXY"
            android:src="@drawable/familyfunicon"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/park_icon"
            android:layout_toEndOf="@+id/park_icon" />

        <ImageButton
            android:layout_width="125dp"
            android:layout_height="170dp"
            android:id="@+id/travelinfor_icon"
            android:src="@drawable/travelicon"
            android:scaleType="fitXY"
            android:background="#ffffff"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/familyfun_icon"
            android:layout_toEndOf="@+id/familyfun_icon" />
    </RelativeLayout>


</RelativeLayout>

博物馆活动

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"

tools:context=".MainActivity">

<include
    android:id="@+id/tool_bar"
    layout="@layout/tool_bar"
    ></include>

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="260dp"
    android:layout_below="@+id/tool_bar"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:weightSum="1"
    android:id="@+id/linearLayout4">

    <ImageButton
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/musehead"
        android:scaleType="fitXY"
        android:src="@drawable/museumhead"
        android:background="#ffffff" />
</LinearLayout>

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="260dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/linearLayout4" >

    <ImageButton
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/imageButton"
        android:scaleType="fitXY"
        android:src="@drawable/gallerieshead"
        android:background="#ffffff" />
</LinearLayout>

</RelativeLayout>

我想从这两个活动中创建一个片段,以使其适合平板电脑的屏幕尺寸。

您无需为每个活动使用单独的片段。 您可以这样操作:将菜单活动设置为片段,这样您将拥有菜单片段,然后可以从片段容器中将菜单加载到其他活动中。

同样明智的是,您可以在应用程序中的任何位置进行一项活动的菜单和仪表板。

您无需为每个活动创建片段, 您可以在问题中为活动 AS 使用多个片段,例如,如果您想在一侧显示菜单页面而在另一项上单击某个类别则显示另一侧的类别: -为此,您可以创建两个片段,并在单个活动中使用它们;如果有这样的要求,则可以在多个活动中使用一个片段。

查看有关Fragment的一些很好的教程

Android-片段官方文档

您将很容易了解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM