ตอนนี้ลองทำอินเตอร์เฟสแบบ SWIPE VIEW + TITLE STRIP แล้ว 3 หน้า
แล้วไม่รู้ว่าจะต้องกำหนดโค้ดของของคอมโพเน้นต์ต่างๆที่อยู่ต่างหน้ากันนั้นได้อย่างไร
สมมุติต้องการให้
1. ในหน้าที่ 1 เมื่อกดปุ่มแล้วให้ข้อความเปลี่ยนเป็น HELLO
2. ในหน้าที่ 2 เมื่อเลื่อน SEEKBAR แล้วให้พื้นหลังเปลี่ยนเป็นสีเหลือง
ดังตัวอย่างภาพครับ
ขอบคุณล่วงหน้ามากครับ
MAIN.JAVA
package com.example.prayerswipetitle;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Main extends FragmentActivity {
SectionsPagerAdapter mSectionsPagerAdapter;
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
}
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment fragment = new TabFragment();
Bundle args = new Bundle();
args.putInt(TabFragment.ARG_OBJECT, position);
fragment.setArguments(args);
return fragment;
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
String tabLabel = null;
switch (position) {
case 0: tabLabel = getString(R.string.label1);
break;
case 1: tabLabel = getString(R.string.label2);
break;
case 2: tabLabel = getString(R.string.label3);
break;
}
return tabLabel;
}
}
public static class TabFragment extends Fragment {
public static final String ARG_OBJECT = "object";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Bundle args = getArguments();
int position = args.getInt(ARG_OBJECT);
int tabLayout = 0;
switch (position) {
case 0 : tabLayout = R.layout.tab1;
break;
case 1 : tabLayout = R.layout.tab2;
break;
case 2 : tabLayout = R.layout.tab3;
break;
}
View rootView = inflater.inflate(tabLayout, container, false);
return rootView;
}
}
}
ขอคำแนะนำการเขียนโค้ด Swipe View
แล้วไม่รู้ว่าจะต้องกำหนดโค้ดของของคอมโพเน้นต์ต่างๆที่อยู่ต่างหน้ากันนั้นได้อย่างไร
สมมุติต้องการให้
1. ในหน้าที่ 1 เมื่อกดปุ่มแล้วให้ข้อความเปลี่ยนเป็น HELLO
2. ในหน้าที่ 2 เมื่อเลื่อน SEEKBAR แล้วให้พื้นหลังเปลี่ยนเป็นสีเหลือง
ดังตัวอย่างภาพครับ
ขอบคุณล่วงหน้ามากครับ
MAIN.JAVA
package com.example.prayerswipetitle;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Main extends FragmentActivity {
SectionsPagerAdapter mSectionsPagerAdapter;
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
}
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment fragment = new TabFragment();
Bundle args = new Bundle();
args.putInt(TabFragment.ARG_OBJECT, position);
fragment.setArguments(args);
return fragment;
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
String tabLabel = null;
switch (position) {
case 0: tabLabel = getString(R.string.label1);
break;
case 1: tabLabel = getString(R.string.label2);
break;
case 2: tabLabel = getString(R.string.label3);
break;
}
return tabLabel;
}
}
public static class TabFragment extends Fragment {
public static final String ARG_OBJECT = "object";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Bundle args = getArguments();
int position = args.getInt(ARG_OBJECT);
int tabLayout = 0;
switch (position) {
case 0 : tabLayout = R.layout.tab1;
break;
case 1 : tabLayout = R.layout.tab2;
break;
case 2 : tabLayout = R.layout.tab3;
break;
}
View rootView = inflater.inflate(tabLayout, container, false);
return rootView;
}
}
}