рдЬрдм рдореИрдВрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдХреНрд░реАрди рдХреЗ рдПрдХ рд╕реБрдВрджрд░ рдлрд╝реНрд▓рд┐рдкрд┐рдВрдЧ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ - рдЬреИрд╕реЗ рдХрд┐ рд▓реЛрдХрдкреНрд░рд┐рдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВред рдореБрдЭреЗ рдмрд╕ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдирд┐рдпрд░рд▓рд╛рдИрдЯ рдЪрд╛рд╣рд┐рдП рдереЗ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, ViewPager рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕реНрд▓рд╛рдЗрдбрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рдХрдИ рдШрдВрдЯреЗ рд▓рдЧреЗ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХреЛрдб рдХрд╛ рдПрдХ рдкреВрд░рд╛ рдкреГрд╖реНрда рднреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рд╕реАрдорд╛рдПрдБ рдереАрдВ - <ViewPager> рдЯреИрдЧ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдпрд╣ рд╡рд┐рдЧреЗрдЯреНрд╕ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реБрдЖред
рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ ScreenPager рдХреНрд▓рд╛рд╕ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ ViewPager рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣ xml рдФрд░ рд╢реБрджреНрдз рдХреЛрдб рджреЛрдиреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдХреЗ рдЙрдкрдпреЛрдЧ
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВред рдЗрд╕рдХреА MainActivity рдХреНрд▓рд╛рд╕ рдХреЛ com.example.testapp рдореЗрдВ рд░рд╣рдиреЗ рджреЗрдВ рдФрд░ рдСрдирдХреНрд░рд┐рдПрдЯ рдореЗрдердб рдХрд░реЗрдВред рдЕрдм рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ ScreenPager рд╡рд░реНрдЧ рдмрдирд╛рдПрдВ рдФрд░ рдирд┐рдореНрди рдХреЛрдб рдХреЛ рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝реЗ рдмрд┐рдирд╛, рдЕрдм рдХреЗ рд▓рд┐рдП рдЗрд╕рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ:
ScreenPager.javapackage com.example.testapp; import android.content.Context; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import java.util.ArrayList; import java.util.List; public class ScreenPager extends ViewPager { private PagerAdapter adapter = new ScreenPagerAdapter(); private List<View> viewList = new ArrayList<View>(); public ScreenPager(Context context) { super(context); init(); } public ScreenPager(Context context, AttributeSet attrs) { super(context, attrs); init(); } @Override public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) { return new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); } private void init() { setAdapter(adapter); } @Override public void addView(View child, ViewGroup.LayoutParams params) { addScreen(child); } public void addScreen(View screen) { viewList.add(screen); adapter.notifyDataSetChanged(); } private class ScreenPagerAdapter extends PagerAdapter { @Override public int getCount() { return viewList.size(); } @Override public boolean isViewFromObject(View view, Object o) { return view.equals(o); } @Override public Object instantiateItem(ViewGroup container, int position) { View view = viewList.get(position); container.addView(view); return view; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } } static LayoutInflater.Factory getShortNameFactory() { return new LayoutInflater.Factory() { @Override public View onCreateView(String name, Context context, AttributeSet attrs) { if (ScreenPager.class.getSimpleName().equals(name)) { return new ScreenPager(context, attrs); } return null; } }; } }
рдЕрдм рдЖрдк рдЕрдкрдиреЗ рд░реЗрд╕ / рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдПрдХ screenpager.xml рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╡рд╣рд╛рдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ
<?xml version="1.0" encoding="utf-8"?> <com.example.testapp.ScreenPager xmlns:a="http://schemas.android.com/apk/res/android" a:layout_width="match_parent" a:layout_height="match_parent"> <Button a:text=" тДЦ 1" /> <Button a:text=" тДЦ 2" /> <Button a:text=" тДЦ 3" /> <Button a:text=" тДЦ 4" /> </com.example.testapp.ScreenPager>
рдпрджрд┐ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ UTF-8 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рд╕рд╣реЗрдЬрдирд╛ рди рднреВрд▓реЗрдВред рдФрд░ рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рддрд╛рд░ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕реАрдзреЗ рд╕рдореНрдорд┐рд▓рд┐рдд рдирд╣реАрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдЕрдм MainActivity.onCreate рдореЗрдВ рдПрдХ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ
setContentView(R.layout.screenpager);
рд╡рд╣ рд╕рдм рд╣реИ! рд╕реНрд▓рд╛рдЗрдбрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рд▓рдВрдмреЗ рдирд╛рдо com.example.testapp рдмрджрд╕реВрд░рдд рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рд╕рдм рдХреБрдЫ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╣реИ рдирд╛?
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдЖрдкрдХреЛ рдХреЗрд╡рд▓ android.view рдпрд╛ android.widget рд╕реЗ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ LayoutInflater рдХреЗ рд▓рд┐рдП Factory рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ getShortNameFactory рд╡рд┐рдзрд┐ рд▓рд┐рдЦреА, рдЬреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░рдЦрд╛рдирд╛ рд▓реМрдЯрд╛рддреА рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ onCreate рд╡рд┐рдзрд┐ рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВ, рдФрд░ рдЖрдкрдХреЛ setContentView рд╕реЗ рдкрд╣рд▓реЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
LayoutInflater.from(this).setFactory(ScreenPager.getShortNameFactory());
рдпрджрд┐ рдЖрдкрдХрд╛ IDE рдЖрдкрдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рднреА LayoutInflater рдЖрдпрд╛рдд рдХрд░реЗрдВ:
import android.view.LayoutInflater;
рдЕрдм рд╣рдо рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
<ScreenPager xmlns:a="http://schemas.android.com/apk/res/android" a:layout_width="match_parent" a:layout_height="match_parent"> <Button a:text=" тДЦ 1" /> <Button a:text=" тДЦ 2" /> <Button a:text=" тДЦ 3" /> <Button a:text=" тДЦ 4" /> </ScreenPager>
рд▓реЗрдХрд┐рди рд╡рд╣ рд╕рдм рдирд╣реАрдВ рд╣реИ! рдЖрдк рдХреЛрдб рдореЗрдВ рдЕрдкрдиреА рд╕реНрдХреНрд░реАрди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рд░рд▓ рднреА рд╣реИ:
ScreenPager screenPager = new ScreenPager(this); Button button1 = new Button(this); button1.setText(" тДЦ1"); screenPager.addScreen(button1); Button button2 = new Button(this); button2.setText(" тДЦ2"); screenPager.addScreen(button2);
рд╕реНрд╡рд╛рд╕реНрдереНрдп рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдмрдЯрди рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЕрдкрдиреЗ рд▓реЗрдЖрдЙрдЯ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЛ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЛ-рдПрдХ рджреГрд╢реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдЪ рд╣реИ, рдЖрдкрдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдорд╛рд╣реМрд▓ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рд╣реИ) рд▓реЗрдЖрдЙрдЯ_рд╕рдХреНрд░рд┐рдпрддрд╛ рдФрд░ рд▓реЗрдЖрдЙрдЯ_рд╣рд╛рдЗрдЯ рдХреА рдХрдореА рдкрд░ рд╢рдкрде рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ
рдкреВрд░реНрдг рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реВрдВред
рд╡рд┐рд╡рд░рдг
рдЖрдк
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ ViewPager рдФрд░ PagerAdapter рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ
рд╣реИрдВ рдпрд╣ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рджрд░рдЕрд╕рд▓, рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ред
ScreenPager рд╡рд░реНрдЧ ViewPager рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рдЧреИрд░-рд╕реНрдерд┐рд░ рдиреЗрд╕реНрдЯреЗрдб рд╡рд░реНрдЧ - ScreenPagerAdapter рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ PagerAdapter рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдпрд╣ getAdapter () рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ ScreenPager рджреГрд╢реНрдп рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬрдм xml рдХреЛрдб рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ AddView рдХреЛ ScreenPager рдЯреИрдЧ рдХреЗ рдЕрдВрджрд░ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдордиреЗ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП AddScreen рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдбреЙрдкреНрдЯрд░ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ - рдФрд░ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрд▓рд╛рдЗрдбрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг, рдФрд░ xml рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ - рдРрдбрд╕реНрдХреНрд░реАрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рд╕реНрдЯреИрдЯрд┐рдХ рдлрдВрдХреНрд╢рди рдЬреЛрдбрд╝рд╛, рдЬреЛ LayoutInflater.Factory рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╣рдо рдмрд╕ рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рдЯреИрдЧ рдХреЗ рдирд╛рдо рд╕реЗ рдХрд┐рддрдирд╛ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ - рдФрд░ рдпрджрд┐ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реА рд╡рд╕реНрддреБ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдВред
рдФрд░ рдЕрдм рдордЬрд╝реЗрджрд╛рд░ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдПред рдЖрдкрдиреЗ рд╢рд╛рдпрдж рдпрд╣ рджреЗрдЦрд╛ рд╣реИ рдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, LinearLayout рд╕рднреА рдмрд╛рд▓ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП layout_width рдФрд░ layout_height рдХреЛ рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред рдФрд░ GridLayout рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреЗ рд╡рд┐рдЬреЗрдЯ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдРрд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЛрдб рд╕реЗ рдореБрдХреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред рдореБрдЭреЗ рдХрд╕реНрдЯрдо рдХрдВрдЯреЗрдирд░ рдШрдЯрдХ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдкрдврд╝рдирд╛ рдерд╛ред рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдВ рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдереАред рдФрд░ рдХреЗрд╡рд▓ рдЧреНрд░рд┐рдбрд▓реЗрдпрдЖрдЙрдЯ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдПрдХ рдЕрдзреНрдпрдпрди рдиреЗ рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рд░реНрдл рдЬрдирд░реЗрдЯ рд▓рд╛рдЗрдЯрд▓рдЖрдЙрдЯреНрд╕ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рдФрд░ ViewGroup.LayoutParams (LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT) рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдФрд░ рд╡рд╣ рд╕рдм - рдЕрдм рд╕рднреА рдмрд╛рд▓ рд╡рд┐рдЬреЗрдЯ рдКрдБрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛, рдЬреЛ рдореЗрд░реЗ рд╕рд╛рдордиреЗ рдЖрдИред рдЖрдк LayoutInflater.from (рдпрд╣) .setFactory рдХреЗ рдмрд┐рдирд╛ ScreenPager рдХрд╛ рдХрдо рдЙрдкрдпреЛрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рд░рдгред Android Android.view рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдореЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рджрд░рдЕрд╕рд▓, рдХреЙрдо рдлреЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╣рдорд╛рд░реЗ src рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдХреЛрдИ рднреА рдПрдВрдбреНрд░реЙрдЗрдб рдлреЛрд▓реНрдбрд░ рдмрдирд╛рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рджреГрд╢реНрдп рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ рдФрд░ рд╕реНрдХреНрд░реАрди рдХреЗ рдЕрдВрджрд░ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рднреВрд▓рдХрд░ рднреА ScreenPager.java рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╡рд╣рд╛рдВ рд░рдЦреЗрдВред рдФрд░ рдпрд╣ рд╕рдВрдХрд▓рди рдФрд░ рдорд╣рд╛рди рдЪрд▓рд╛рддрд╛ рд╣реИ! рдЗрд╕реЗ рдЖрдЬрдорд╛рдЗрдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдкрдиреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдкреИрдХреЗрдЬ рдореЗрдВ рд░рдЦрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдмрд▓реНрдХрд┐, рд╕рд┐рд░реНрдл рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБред