12.16

<!-- res/layout/activity_main.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">

 

    <TextView

        android:id="@+id/textView"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Hello World!"

        android:layout_centerInParent="true"

        android:textSize="18sp"/>

</RelativeLayout>

<!-- res/menu/menu_main.xml -->

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item

        android:id="@+id/action_search"

        android:icon="@android:drawable/ic_menu_search"

        android:title="Search"

        android:actionViewClass="android.widget.SearchView"

        android:showAsAction="ifRoom|collapseActionView"/>

    <item

        android:id="@+id/action_settings"

        android:title="Settings"

        android:orderInCategory="100"

        android:showAsAction="never"/>

</menu>

// src/main/java/com/example/actionviewapp/MainActivity.java

package com.example.actionviewapp;

 

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuInflater;

import android.view.MenuItem;

import android.widget.SearchView;

import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

 

public class MainActivity extends AppCompatActivity {

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }

 

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        MenuInflater inflater = getMenuInflater();

        inflater.inflate(R.menu.menu_main, menu);

 

        MenuItem searchItem = menu.findItem(R.id.action_search);

        SearchView searchView = (SearchView) searchItem.getActionView();

        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

            @Override

            public boolean onQueryTextSubmit(String query) {

                Toast.makeText(MainActivity.this, "Search: " + query, Toast.LENGTH_SHORT).show();

                return false;

            }

 

            @Override

            public boolean onQueryTextChange(String newText) {

                return false;

            }

        });

 

        return true;

    }

 

    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

        // Handle item selection

        switch (item.getItemId()) {

            case R.id.action_settings:

                Toast.makeText(this, "Settings selected", Toast.LENGTH_SHORT).show();

                return true;

            default:

                return super.onOptionsItemSelected(item);

        }

    }

}

 

5.05

所花时间(包括上课):1

代码(行):150

博客量(篇):1

了解到知识点:学习Action Tab

 <?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity">

 

    <com.google.android.material.tabs.TabLayout

        android:id="@+id/tabLayout"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        app:layout_constraintTop_toTopOf="parent"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintEnd_toEndOf="parent"/>

 

    <androidx.viewpager.widget.ViewPager

        android:id="@+id/viewPager"

        android:layout_width="0dp"

        android:layout_height="0dp"

        app:layout_constraintTop_toBottomOf="@id/tabLayout"

        app:layout_constraintBottom_toBottomOf="parent"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintEnd_toEndOf="parent"/>

</androidx.constraintlayout.widget.ConstraintLayout>

package com.example.myapp;

 

import androidx.appcompat.app.AppCompatActivity;

import androidx.fragment.app.Fragment;

import androidx.fragment.app.FragmentPagerAdapter;

import androidx.viewpager.widget.ViewPager;

 

import android.os.Bundle;

 

import com.google.android.material.tabs.TabLayout;

 

public class MainActivity extends AppCompatActivity {

 

    private TabLayout tabLayout;

    private ViewPager viewPager;

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

 

        tabLayout = findViewById(R.id.tabLayout);

        viewPager = findViewById(R.id.viewPager);

 

        viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {

            @Override

            public Fragment getItem(int position) {

                switch (position) {

                    case 0:

                        return new FirstFragment();

                    case 1:

                        return new SecondFragment();

                    case 2:

                        return new ThirdFragment();

                    default:

                        return null;

                }

            }

 

            @Override

            public int getCount() {

                return 3;

            }

 

            @Override

            public CharSequence getPageTitle(int position) {

                switch (position) {

                    case 0:

                        return "Tab 1";

                    case 1:

                        return "Tab 2";

                    case 2:

                        return "Tab 3";

                    default:

                        return null;

                }

            }

        });

 

        tabLayout.setupWithViewPager(viewPager);

    }

}

package com.example.myapp;

 

import android.os.Bundle;

import androidx.fragment.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

 

public class FirstFragment extends Fragment {

 

    public FirstFragment() {

        // Required empty public constructor

    }

 

    @Override

    public View onCreateView(LayoutInflater inflater, ViewGroup container,

                             Bundle savedInstanceState) {

        // Inflate the layout for this fragment

        return inflater.inflate(R.layout.fragment_first, container, false);

    }

}

posted @ 2024-12-16 19:38  赵千万  阅读(7)  评论(0)    收藏  举报