1. Trang chủ
  2. » Công Nghệ Thông Tin

Android Programing Bài 12: Fragment (part 2)

27 89 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 1,5 MB

Nội dung

BÀI 12: Fragment(Part2) Bài tập sử dụng Fragment  Tạo Project có tên " AndroidFragment"  Chuẩn bị file ảnh, chẳng hạn andrea.jpg  Copy paste file andrea.jpg vào thư mục mipmap project  Android Studio bắt bạn chọn chất lượng ảnh tạo Chọn mipmap-mdpi ảnh với chất lượng trung bình  Tiếp theo tạo file activity_top.xml: Trên Android Studio chọn: File/New/Layout resource file  Nhập vào: File name: activity_top.xml Root element: RelativeLayout Directory name: layout  Tương tự tạo file activity_bottom.xml  Thiết kế giao diện activity_top.xml activity_top.xml Thiết kế giao diện activity_bottom.xml TopFragment java package org.o7planning.androidfragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class TopFragment extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Đọc file xml tạo đối tượng View // inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot) View view= inflater.inflate(R.layout.activity_top, container, false); return view; } } BottomFragment.java package org.o7planning.androidfragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class BottomFragment extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Đọc file xml tạo đối tượng View // inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot) View view= inflater.inflate(R.layout.activity_bottom, container, false); return view; } } Và bây giờ, bạn cần bố trí fragment giao diện Activity Mở file activity_main.xml Chọn TopFragment: Thay đổi ID cho fragment top_fragment bottom_fragment activity_main.xml Bây bạn cần phải sửa đổi code class MainActivity, TopFragment, BottomFragment để sử lý kiện MainActivity.java package org.o7planning.androidfragment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void showText(String topImageText, String bottomImageText) { BottomFragment bottomFragment = (BottomFragment) this.getSupportFragmentManager() findFragmentById(R.id.bottom_fragment); bottomFragment.showText(topImageText, bottomImageText); } } TopFragment.java package org.o7planning.androidfragment; import android.content.Context; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; public class TopFragment extends Fragment { private EditText inputTopImageText; private EditText inputBottomImageText; private MainActivity mainActivity; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Đọc file xml tạo đối tượng View // inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot) View view = inflater.inflate(R.layout.activity_top, container, false); inputTopImageText = (EditText) view.findViewById(R.id.input_top_image_text); inputBottomImageText = (EditText) view.findViewById(R.id.input_bottom_image_text); Button applyButton = (Button) view.findViewById(R.id.button_apply); applyButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { applyText(); } }); return view; } // Phương thức gọi sau Fragment ghép vào Activity @Override public void onAttach(Context context) { super.onAttach(context); if (context instanceof MainActivity) { this.mainActivity = (MainActivity) context; } } private void applyText() { String topText = this.inputTopImageText.getText().toString(); String bottomText = this.inputBottomImageText.getText().toString(); this.mainActivity.showText(topText, bottomText); } } BottomFragment.java package org.o7planning.androidfragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class BottomFragment extends Fragment { private TextView topText; private TextView bottomText; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Đọc file xml tạo đối tượng View // inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot) View view = inflater.inflate(R.layout.activity_bottom, container, false); topText = (TextView) view.findViewById(R.id.top_image_text); bottomText = (TextView) view.findViewById(R.id.bottom_image_text); return view; } public void showText(String topImageText, String bottomImageText) { topText.setText(topImageText); bottomText.setText(bottomImageText); } } Chạy ứng dụng:

Ngày đăng: 22/07/2019, 14:55

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w