--------------------------------------------------------------------------------
/library/res/menu/activity_pane_layout_example.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/library/res/drawable/shadow_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/library/res/drawable/shadow_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/library/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/library/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | PaneLayoutLibrary
5 | Settings
6 | Hello world!
7 |
8 | Open navigation drawer
9 | Close navigation drawer
10 |
--------------------------------------------------------------------------------
/example/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/library/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/example/res/layout/example_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
15 |
16 |
--------------------------------------------------------------------------------
/example/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-17
15 | android.library.reference.1=../library
16 |
--------------------------------------------------------------------------------
/library/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-17
15 | android.library=true
16 | android.library.reference.1=../../ActionBarSherlock/actionbarsherlock
17 |
--------------------------------------------------------------------------------
/example/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
--------------------------------------------------------------------------------
/library/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
--------------------------------------------------------------------------------
/example/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/library/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/library/src/com/mapsaurus/paneslayout/PanesSizer.java:
--------------------------------------------------------------------------------
1 | package com.mapsaurus.paneslayout;
2 |
3 | public interface PanesSizer {
4 |
5 | /**
6 | * Used to specify the sizes of each pane.
7 | */
8 | public interface PaneSizer {
9 | /**
10 | * @param index = the index of this pane
11 | * @param type = the type of this pane (the possible types are arbitrary)
12 | * @param parentWidth = the width of the panes layout
13 | * @param parentHeight = the height of the panes layout
14 | */
15 | public int getWidth(int index, int type, int parentWidth, int parentHeight);
16 |
17 | /**
18 | * @param o = fragment/view
19 | * @return the type associated with this object
20 | */
21 | public int getType(Object o);
22 |
23 | /**
24 | * @param o = fragment/view
25 | * @return whether this fragment/view should be focused
26 | */
27 | public boolean getFocused(Object o);
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/library/res/layout/phone_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
19 |
20 |
--------------------------------------------------------------------------------
/example/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
16 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/library/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
16 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/example/res/layout/example_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
12 |
13 |
20 |
21 |
28 |
29 |
36 |
37 |
--------------------------------------------------------------------------------
/example/src/com/mapsaurus/panesexample/ExampleActivity.java:
--------------------------------------------------------------------------------
1 | package com.mapsaurus.panesexample;
2 |
3 | import com.mapsaurus.paneslayout.PanesActivity;
4 | import com.mapsaurus.paneslayout.PanesSizer.PaneSizer;
5 |
6 | import android.os.Bundle;
7 | import android.support.v4.app.Fragment;
8 | import android.util.Log;
9 | import android.util.TimingLogger;
10 |
11 | public class ExampleActivity extends PanesActivity {
12 |
13 | /**
14 | * The PaneSizer allows you to programatically size each pane.
15 | *
16 | * Type is an arbitrary integer that represents the type of view or fragment
17 | * contained within a pane.
18 | *
19 | * In this example, there are only two types, 'default' and 'unknown.'
20 | * Panes associated with ExampleFragments are given type 'default.'
21 | *
22 | * Certain panes can also be focused. This means that swipe gestures will
23 | * not be detected on those panes.
24 | */
25 | private class ExamplePaneSizer implements PaneSizer {
26 | private static final int DEFAULT_PANE_TYPE = 0;
27 | private static final int UNKNOWN_PANE_TYPE = -1;
28 |
29 | @Override
30 | public int getWidth(int index, int type, int parentWidth, int parentHeight) {
31 | if (parentWidth > parentHeight) {
32 | if (type == DEFAULT_PANE_TYPE && index == 0)
33 | return (int) (0.25 * parentWidth);
34 | else if (type == DEFAULT_PANE_TYPE)
35 | return (int) (0.375 * parentWidth);
36 | else throw new IllegalStateException("Pane has unknown type");
37 | } else {
38 | if (type == DEFAULT_PANE_TYPE && index == 0)
39 | return (int) (0.4 * parentWidth);
40 | else if (type == DEFAULT_PANE_TYPE)
41 | return (int) (0.6 * parentWidth);
42 | if (type == DEFAULT_PANE_TYPE)
43 | return (int) (0.75 * parentWidth);
44 | else throw new IllegalStateException("Pane has unknown type");
45 | }
46 | }
47 |
48 | @Override
49 | public int getType(Object o) {
50 | if (o instanceof ExampleFragment)
51 | return DEFAULT_PANE_TYPE;
52 | else return UNKNOWN_PANE_TYPE;
53 | }
54 |
55 | @Override
56 | public boolean getFocused(Object o) {
57 | return false;
58 | }
59 | }
60 |
61 | @Override
62 | public void onCreate(Bundle savedInstanceState) {
63 | super.onCreate(savedInstanceState);
64 |
65 | setPaneSizer(new ExamplePaneSizer());
66 |
67 | // Lets setup a menu and a first pane!
68 | if (savedInstanceState == null) {
69 | Fragment menu = new ExampleFragment();
70 | Fragment first = new ExampleFragment();
71 | setMenuFragment(menu);
72 | addFragment(menu, first);
73 |
74 | // if you wanted to add more fragments after these ones, you can do:
75 | Fragment second = new ExampleFragment();
76 | Fragment third = new ExampleFragment();
77 | addFragment(first, second);
78 | addFragment(second, third);
79 | }
80 | }
81 |
82 | }
--------------------------------------------------------------------------------
/library/src/com/mapsaurus/paneslayout/ActivityDelegate.java:
--------------------------------------------------------------------------------
1 | package com.mapsaurus.paneslayout;
2 |
3 | import com.actionbarsherlock.app.ActionBar;
4 | import com.actionbarsherlock.view.MenuItem;
5 |
6 | import android.content.res.Configuration;
7 | import android.content.res.Resources;
8 | import android.os.Bundle;
9 | import android.support.v4.app.Fragment;
10 | import android.support.v4.app.FragmentManager;
11 | import android.view.View;
12 |
13 | public abstract class ActivityDelegate {
14 |
15 | private PanesActivity mActivity;
16 |
17 | public ActivityDelegate(PanesActivity a) {
18 | mActivity = a;
19 | }
20 |
21 | /**
22 | * Save the state of the panes
23 | */
24 | public void onSaveInstanceState(Bundle savedInstanceState) {}
25 |
26 | /**
27 | * onCreate
28 | */
29 | public abstract void onCreate(Bundle savedInstanceState);
30 |
31 | /**
32 | * onDestroy
33 | */
34 | public void onDestroy() {}
35 |
36 | protected void onPostCreate(Bundle savedInstanceState) {}
37 | protected void onConfigurationChanged(Configuration newConfig) {}
38 |
39 | /* *********************************************************************
40 | * Adding, removing, getting fragments
41 | * ********************************************************************* */
42 |
43 | /**
44 | * Add a fragment as a menu
45 | */
46 | public abstract void addFragment(Fragment prevFragment, Fragment newFragment);
47 |
48 | /**
49 | * Add a fragment as a menu
50 | */
51 | public abstract void setMenuFragment(Fragment f);
52 |
53 | /**
54 | * Clear all fragments from stack
55 | */
56 | public abstract void clearFragments();
57 |
58 | /**
59 | * Get menu framgent
60 | */
61 | public abstract Fragment getMenuFragment();
62 |
63 | /**
64 | * Get top framgent
65 | */
66 | public abstract Fragment getTopFragment();
67 |
68 | /**
69 | * Show the menu
70 | */
71 | public abstract void showMenu();
72 |
73 | /* *********************************************************************
74 | * Deal with over-riding activity methods
75 | * ********************************************************************* */
76 |
77 | /**
78 | * Deal with back pressed
79 | */
80 | public abstract boolean onBackPressed();
81 |
82 | /**
83 | * Deal with menu buttons
84 | */
85 | public abstract boolean onOptionsItemSelected(MenuItem item);
86 |
87 | /* *********************************************************************
88 | * Wrapper functions to make coding a delegate less annoying
89 | * ********************************************************************* */
90 |
91 | protected final void supportInvalidateOptionsMenu() {
92 | mActivity.supportInvalidateOptionsMenu();
93 | }
94 |
95 | protected final PanesActivity getActivity() {
96 | return mActivity;
97 | }
98 |
99 | protected final void setContentView(int layoutResId) {
100 | mActivity.setContentView(layoutResId);
101 | }
102 |
103 | protected final ActionBar getSupportActionBar() {
104 | return mActivity.getSupportActionBar();
105 | }
106 |
107 | protected final Resources getResources() {
108 | return mActivity.getResources();
109 | }
110 |
111 | protected final FragmentManager getSupportFragmentManager() {
112 | return mActivity.getSupportFragmentManager();
113 | }
114 |
115 | protected final View findViewById(int id) {
116 | return mActivity.findViewById(id);
117 | }
118 |
119 | }
120 |
--------------------------------------------------------------------------------
/library/src/com/mapsaurus/paneslayout/PanesActivity.java:
--------------------------------------------------------------------------------
1 | package com.mapsaurus.paneslayout;
2 |
3 | import android.content.Intent;
4 | import android.content.res.Configuration;
5 | import android.os.Bundle;
6 | import android.support.v4.app.Fragment;
7 |
8 | import com.actionbarsherlock.app.SherlockFragmentActivity;
9 | import com.actionbarsherlock.view.MenuItem;
10 | import com.mapsaurus.paneslayout.PanesSizer.PaneSizer;
11 |
12 | public abstract class PanesActivity extends SherlockFragmentActivity implements FragmentLauncher{
13 |
14 | private ActivityDelegate mDelegate;
15 |
16 | @Override
17 | public void onSaveInstanceState(Bundle savedInstanceState) {
18 | super.onSaveInstanceState(savedInstanceState);
19 |
20 | mDelegate.onSaveInstanceState(savedInstanceState);
21 | }
22 |
23 | @Override
24 | public void onCreate(Bundle savedInstanceState) {
25 | super.onCreate(savedInstanceState);
26 |
27 | int screenSize = (getResources().getConfiguration().screenLayout
28 | & Configuration.SCREENLAYOUT_SIZE_MASK);
29 |
30 | if (screenSize == Configuration.SCREENLAYOUT_SIZE_LARGE ||
31 | screenSize == Configuration.SCREENLAYOUT_SIZE_XLARGE) {
32 | mDelegate = new TabletDelegate(this);
33 | } else {
34 | mDelegate = new PhoneDelegate(this);
35 | }
36 |
37 | mDelegate.onCreate(savedInstanceState);
38 | }
39 |
40 | /* *********************************************************************
41 | * Deal with over-riding activity methods
42 | * ********************************************************************* */
43 |
44 | /**
45 | * Deal with menu buttons
46 | */
47 | @Override
48 | public boolean onOptionsItemSelected(MenuItem item) {
49 | if (mDelegate.onOptionsItemSelected(item)) return true;
50 | return super.onOptionsItemSelected(item);
51 | }
52 |
53 | @Override
54 | protected void onPostCreate(Bundle savedInstanceState) {
55 | super.onPostCreate(savedInstanceState);
56 | mDelegate.onPostCreate(savedInstanceState);
57 | }
58 |
59 | @Override
60 | public void onConfigurationChanged(Configuration newConfig) {
61 | super.onConfigurationChanged(newConfig);
62 | mDelegate.onConfigurationChanged(newConfig);
63 | }
64 |
65 | /**
66 | * Deal with back pressed
67 | */
68 | @Override
69 | public void onBackPressed() {
70 | if (onBackPressedHelper()) return;
71 | super.onBackPressed();
72 | }
73 |
74 | protected boolean onBackPressedHelper() {
75 | if (mDelegate.onBackPressed()) return true;
76 | return false;
77 | }
78 |
79 | /* *********************************************************************
80 | * Adding, removing, getting fragments
81 | *
82 | * Note: fragments are added in a stack. Here's a sample use case:
83 | *
84 | * setMenuFragment(A)
85 | * stack: A
86 | *
87 | * addFragment(A, B)
88 | * stack: A, B
89 | *
90 | * addFragment(B, C)
91 | * stack: A, B, C
92 | *
93 | * addFragment(B, D)
94 | * stack: A, B, D
95 | *
96 | * clearFragments()
97 | * stack: A
98 | *
99 | * ********************************************************************* */
100 |
101 | /**
102 | * Add a new fragment after the previous fragment.
103 | */
104 | @Override
105 | public void addFragment(Fragment prevFragment, Fragment newFragment) {
106 | mDelegate.addFragment(prevFragment, newFragment);
107 | }
108 |
109 | /**
110 | * Add a fragment as a menu
111 | */
112 | public void setMenuFragment(Fragment f) {
113 | mDelegate.setMenuFragment(f);
114 | }
115 |
116 | /**
117 | * Clear all fragments from stack except the menu fragment
118 | */
119 | public void clearFragments() {
120 | mDelegate.clearFragments();
121 | }
122 |
123 | /**
124 | * Get menu framgent
125 | */
126 | public Fragment getMenuFragment() {
127 | return mDelegate.getMenuFragment();
128 | }
129 |
130 | /**
131 | * Get top framgent
132 | */
133 | public Fragment getTopFragment() {
134 | return mDelegate.getTopFragment();
135 | }
136 |
137 | /**
138 | * Show the menu
139 | */
140 | public void showMenu() {
141 | mDelegate.showMenu();
142 | }
143 |
144 | /* *********************************************************************
145 | * Setup tablet or phone delegates
146 | * ********************************************************************* */
147 |
148 | /**
149 | * Set the pane sizer
150 | */
151 | public void setPaneSizer(PaneSizer sizer) {
152 | if (mDelegate instanceof TabletDelegate)
153 | ((TabletDelegate) mDelegate).setPaneSizer(sizer);
154 | }
155 | }
156 |
--------------------------------------------------------------------------------
/example/src/com/mapsaurus/panesexample/ExampleFragment.java:
--------------------------------------------------------------------------------
1 | package com.mapsaurus.panesexample;
2 |
3 | import java.lang.ref.WeakReference;
4 | import java.util.ArrayList;
5 |
6 | import com.mapsaurus.panesexample.R;
7 | import com.mapsaurus.paneslayout.FragmentLauncher;
8 |
9 | import android.app.Activity;
10 | import android.content.Intent;
11 | import android.content.res.Configuration;
12 | import android.graphics.Color;
13 | import android.os.Bundle;
14 | import android.support.v4.app.Fragment;
15 | import android.util.Log;
16 | import android.view.LayoutInflater;
17 | import android.view.View;
18 | import android.view.View.OnClickListener;
19 | import android.view.ViewGroup;
20 | import android.widget.Button;
21 | import android.widget.FrameLayout;
22 | import android.widget.TextView;
23 |
24 | public class ExampleFragment extends Fragment {
25 |
26 | private static int sExampleNum = 0;
27 |
28 | private TextView text1;
29 | private TextView text2;
30 | private Button addButton;
31 | private View parentView;
32 |
33 | private int text1Val = -1;
34 | private int text2Val = -1;
35 |
36 | /**
37 | * Create a new ExampleFragment and add it!
38 | */
39 | private void addExampleFragment() {
40 | // create a new fragment
41 | Fragment f = new ExampleFragment();
42 | //Fragment f = new ExampleListFragment();
43 |
44 | // get the activity and add the new fragment after this one!
45 | Activity a = getActivity();
46 | if (a != null && a instanceof FragmentLauncher)
47 | ((FragmentLauncher) a).addFragment(ExampleFragment.this, f);
48 | }
49 |
50 | public ExampleFragment() {
51 | super();
52 | }
53 |
54 | @Override
55 | public View onCreateView(LayoutInflater inflater, ViewGroup container,
56 | Bundle savedInstanceState) {
57 | setRetainInstance(true);
58 |
59 | parentView = inflater.inflate(R.layout.example_fragment, container, false);
60 | if (color != -1) {
61 | parentView.setBackgroundColor(color);
62 | } else {
63 | randomizeColor();
64 | }
65 |
66 | parentView.setOnClickListener(new OnClickListener() {
67 | @Override
68 | public void onClick(View v) {
69 | randomizeColor();
70 | }
71 | });
72 |
73 | addButton = (Button) parentView.findViewById(R.id.add);
74 | addButton.setOnClickListener(new OnClickListener() {
75 | @Override
76 | public void onClick(View v) {
77 | addExampleFragment();
78 | }
79 | });
80 |
81 | if (text1Val == -1)
82 | text1Val = sExampleNum ++;
83 |
84 | text1 = (TextView) parentView.findViewById(R.id.text1);
85 | text1.setText("" + text1Val);
86 |
87 | text2 = (TextView) parentView.findViewById(R.id.text2);
88 | text2.setText("...");
89 |
90 | return parentView;
91 | }
92 |
93 |
94 | /* *********************************************************************
95 | * Deal with coloring the fragment and showing the amount of time
96 | * it's been alive.
97 | * ********************************************************************* */
98 |
99 | /**
100 | * Randomize the background of this fragment
101 | */
102 | public void randomizeColor() {
103 | color = Color.rgb((int) (Math.random() * 255),
104 | (int) (Math.random() * 255), (int) (Math.random() * 255));
105 | parentView.setBackgroundColor(color);
106 | }
107 |
108 | /**
109 | * Current color of this fragment
110 | */
111 | private int color = -1;
112 |
113 | /**
114 | * These variables control the threads
115 | */
116 | private boolean paused = true, destroyed = false;
117 |
118 | private Thread thread = new Thread() {
119 | private double fps = 1;
120 |
121 | public void run() {
122 | while (!destroyed) {
123 | if (paused) {synchronized (this) {
124 | try {
125 | wait();
126 | } catch (InterruptedException e) {
127 | }
128 | }}
129 |
130 | long startTime = System.currentTimeMillis();
131 |
132 | text2Val ++;
133 | text2.post(new Runnable() {public void run() {
134 | text2.setText("" + text2Val);
135 | }});
136 |
137 | long endTime = System.currentTimeMillis();
138 | long dTime = endTime - startTime;
139 | try {
140 | Thread.sleep((long) Math.max(1000 / fps - dTime, 0));
141 | } catch (InterruptedException e) {
142 | }
143 | }
144 | }
145 | };
146 |
147 | @Override
148 | public void onStart() {
149 | super.onStart();
150 | if (!thread.isAlive())
151 | thread.start();
152 | }
153 |
154 | @Override
155 | public void onResume() {
156 | super.onResume();
157 | paused = false;
158 | synchronized (thread) {
159 | thread.notify();
160 | }
161 | }
162 |
163 | @Override
164 | public void onPause() {
165 | super.onPause();
166 | paused = true;
167 | }
168 |
169 | @Override
170 | public void onDestroy() {
171 | super.onDestroy();
172 | destroyed = true;
173 | }
174 |
175 | }
176 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Disclaimer: unfortunately, I don't do Android dev anymore, so I can't maintain this library.
2 |
3 | [](https://www.youtube.com/watch?v=UA-lAGVXoLU&feature=youtu.be)
4 |
5 | # PanesLibrary
6 |
7 | This library makes it easy to make native Android apps with multi-pane tablet layouts. On the phone, the app appears as a conventional app with a sliding menu and a content pane where fragments are stacked on top of each other. On the tablet, the menu and all other fragments appear in dynamically added panes of varying sizes.
8 |
9 | ## Example
10 |
11 | ExampleActivity demonstrates all the necessary configuration for using PanesActivity.
12 |
13 | ExampleFragment uses a layout with two TextViews and a Button. The TextViews hold the index of the fragment and the length of time it's been alive. This is used to demonstrate that fragments are correctly retained on activity restarts. The Button has a callback which creates a new fragment and adds it to the parent activity.
14 |
15 | ## Using PanesLibrary
16 |
17 | Make sure you have the most up-to-date [support library](http://developer.android.com/training/basics/fragments/support-lib.html) and [ActionBarSherlock](http://actionbarsherlock.com/).
18 |
19 | Have your activity extend PanesActivity. Then, add fragments to the activity using the following functions:
20 |
21 | * setMenuFragment(fragment): set the menu
22 | * addFragment(prevFragment, newFragment): adds newFragment after the prevFragment (clobbering any fragments that used to be after prevFragment)
23 | * clearFragments(): removes all the fragments except the menu fragment
24 | * getMenuFragment(): get the menu fragment
25 | * getTopFragment(): get the fragment on the top of the stack
26 |
27 | You also need to provide a PaneSizer. This object allows you to programatically set the width of each pane based on the type of Fragment/View you want to place inside the pane.
28 |
29 | You should also implement updateFragment(...). This is run whenever a fragment is added (even on activity restarts).
30 |
31 | Fragments are added onto a stack where the 0th fragment is the menu. Here's an example of what this means:
32 |
33 | ```
34 | > setMenuFragment(A)
35 | stack: A
36 |
37 | > addFragment(A, B)
38 | stack: A, B
39 |
40 | > addFragment (B, C)
41 | stack: A, B, C
42 |
43 | > addFragment (C, D)
44 | stack: A, B, C, D
45 |
46 | > addFragment(B, E)
47 | stack: A, B, E
48 |
49 | >clearFragments()
50 | stack: A
51 | ```
52 |
53 | Note: PanesActivity requires you to use fragments. If you don't use fragments, you can still use PanesLayout manually.
54 |
55 | ## PanesLayout (this controls the tablet layout)
56 |
57 | The hierarchy of a PanesLayout looks like this:
58 | ```
59 | |--------------------------------|
60 | | PanesLayout |
61 | | |----------------------------| |
62 | | | PaneScrollView | |
63 | | | |------------------------| | |
64 | | | | PaneView |-----------| | | |
65 | | | | | (content) | | | |
66 | | | | |-----------| | | |
67 | | | |------------------------| | |
68 | | |----------------------------| |
69 | |--------------------------------|
70 | ```
71 |
72 | A PanesLayout can hold any number of panes. Each pane is made up of a PaneScrollView (which allows the pane contents to slide left & right), a PaneView (which provides padding on the left of the content), and some content (i.e. fragment).
73 |
74 | Variables associated with each pane:
75 | * type: the possible values of type are defined by the user. For example, in ExampleActivity, the only possible type is DEFAULT_PANE_TYPE. This variable is used to size the pane by the PaneSizer
76 | * focused: if true, then PanesLayout will never intercept touch events associated with this pane.
77 | * index: the index of this pane-- starting at 0, going to # of panes - 1.
78 |
79 | To add/remove/get panes:
80 | * addPane(int type)
81 | * addPane(int type, boolean focused)
82 | * removePanes(int i): removes all panes after the ith index
83 | * getNumPanes(): the number of panes
84 | * getCurrentIndex(): the current top index
85 | * setIndex(int index): scroll to the pane associated with index.
86 |
87 | Listeners/delegates:
88 | * PaneSizer: determines what the type/focus of a pane should be based on some associated object (i.e. Fragment or View)
89 | * OnIndexChangedListener: this is fired whenever the visible panes change.
90 |
91 | ```
92 | Copyright 2013 Kenrick Rilee
93 |
94 | Licensed under the Apache License, Version 2.0 (the "License");
95 | you may not use this file except in compliance with the License.
96 | You may obtain a copy of the License at
97 |
98 | http://www.apache.org/licenses/LICENSE-2.0
99 |
100 | Unless required by applicable law or agreed to in writing, software
101 | distributed under the License is distributed on an "AS IS" BASIS,
102 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
103 | See the License for the specific language governing permissions and
104 | limitations under the License.
105 | ```
106 |
--------------------------------------------------------------------------------
/library/src/com/mapsaurus/paneslayout/SimpleScrollView.java:
--------------------------------------------------------------------------------
1 | package com.mapsaurus.paneslayout;
2 |
3 | import java.util.List;
4 |
5 | import android.content.Context;
6 | import android.graphics.Rect;
7 | import android.view.FocusFinder;
8 | import android.view.KeyEvent;
9 | import android.view.MotionEvent;
10 | import android.view.View;
11 | import android.view.ViewConfiguration;
12 | import android.view.ViewGroup;
13 | import android.view.animation.AnimationUtils;
14 | import android.widget.FrameLayout;
15 | import android.widget.ScrollView;
16 | import android.widget.Scroller;
17 |
18 | public class SimpleScrollView extends FrameLayout {
19 |
20 | private Scroller mScroller;
21 |
22 | /**
23 | * True when the layout has changed but the traversal has not come through yet.
24 | * Ideally the view hierarchy would keep track of this for us.
25 | */
26 | private boolean mIsLayoutDirty = true;
27 |
28 | public SimpleScrollView(Context context) {
29 | super(context);
30 | mScroller = new Scroller(context);
31 | }
32 |
33 | @Override
34 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
35 | super.onMeasure(widthMeasureSpec, heightMeasureSpec);
36 |
37 | final int widthMode = MeasureSpec.getMode(widthMeasureSpec);
38 | if (widthMode == MeasureSpec.UNSPECIFIED) {
39 | return;
40 | }
41 |
42 | if (getChildCount() > 0) {
43 | final View child = getChildAt(0);
44 | int width = getMeasuredWidth();
45 | if (child.getMeasuredWidth() < width) {
46 | final FrameLayout.LayoutParams lp = (LayoutParams) child.getLayoutParams();
47 |
48 | int childHeightMeasureSpec = getChildMeasureSpec(heightMeasureSpec,
49 | getPaddingTop() + getPaddingBottom(), lp.height);
50 | width -= getPaddingLeft();
51 | width -= getPaddingRight();
52 | int childWidthMeasureSpec = MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY);
53 |
54 | child.measure(childWidthMeasureSpec, childHeightMeasureSpec);
55 | }
56 | }
57 | }
58 |
59 | @Override
60 | protected void measureChild(View child, int parentWidthMeasureSpec, int parentHeightMeasureSpec) {
61 | ViewGroup.LayoutParams lp = child.getLayoutParams();
62 |
63 | int childWidthMeasureSpec;
64 | int childHeightMeasureSpec;
65 |
66 | childHeightMeasureSpec = getChildMeasureSpec(parentHeightMeasureSpec,
67 | getPaddingTop() + getPaddingBottom(), lp.height);
68 |
69 | childWidthMeasureSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
70 |
71 | child.measure(childWidthMeasureSpec, childHeightMeasureSpec);
72 | }
73 |
74 | @Override
75 | protected void measureChildWithMargins(View child, int parentWidthMeasureSpec, int widthUsed,
76 | int parentHeightMeasureSpec, int heightUsed) {
77 | final MarginLayoutParams lp = (MarginLayoutParams) child.getLayoutParams();
78 |
79 | final int childHeightMeasureSpec = getChildMeasureSpec(parentHeightMeasureSpec,
80 | getPaddingTop() + getPaddingBottom() + lp.topMargin + lp.bottomMargin
81 | + heightUsed, lp.height);
82 | final int childWidthMeasureSpec = MeasureSpec.makeMeasureSpec(
83 | lp.leftMargin + lp.rightMargin, MeasureSpec.UNSPECIFIED);
84 |
85 | child.measure(childWidthMeasureSpec, childHeightMeasureSpec);
86 | }
87 |
88 | @Override
89 | public void computeScroll() {
90 | if (mScroller.computeScrollOffset()) {
91 | int oldX = getScrollX();
92 | int oldY = getScrollY();
93 | int x = mScroller.getCurrX();
94 | int y = mScroller.getCurrY();
95 | if (getChildCount() > 0) {
96 | View child = getChildAt(0);
97 | x = clamp(x, getWidth() - getPaddingRight() - getPaddingLeft(), child.getWidth());
98 | y = clamp(y, getHeight() - getPaddingBottom() - getPaddingTop(), child.getHeight());
99 | }
100 |
101 | scrollTo(x, y);
102 |
103 | if (oldX != getScrollX() || oldY != getScrollY()) {
104 | onScrollChanged(getScrollX(), getScrollY(), oldX, oldY);
105 | }
106 |
107 | // Keep on drawing until the animation has finished.
108 | postInvalidate();
109 | }
110 | }
111 |
112 | private int clamp(int n, int my, int child) {
113 | if (my >= child || n < 0) {
114 | return 0;
115 | }
116 | if ((my + n) > child) {
117 | return child - my;
118 | }
119 | return n;
120 | }
121 |
122 | @Override
123 | public void requestLayout() {
124 | mIsLayoutDirty = true;
125 | super.requestLayout();
126 | }
127 |
128 | @Override
129 | protected void onLayout(boolean changed, int l, int t, int r, int b) {
130 | super.onLayout(changed, l, t, r, b);
131 | mIsLayoutDirty = false;
132 |
133 | // Calling this with the present values causes it to re-clam them
134 | scrollTo(getScrollX(), getScrollY());
135 | }
136 |
137 | public boolean isLayoutDirty() {
138 | return mIsLayoutDirty;
139 | }
140 |
141 | /* ************************************************************************
142 | * Edited by Kenrick. Simple smooth scroll!
143 | */
144 |
145 | /**
146 | * Like {@link View#scrollBy}, but scroll smoothly instead of immediately.
147 | *
148 | * @param dx the number of pixels to scroll by on the X axis
149 | * @param dy the number of pixels to scroll by on the Y axis
150 | */
151 | public final void smoothScrollBy(int dx, int dy) {
152 | mScroller.startScroll(getScrollX(), getScrollY(), dx, dy);
153 | invalidate();
154 | mIsLayoutDirty = true;
155 | }
156 |
157 | /**
158 | * Like {@link #scrollTo}, but scroll smoothly instead of immediately.
159 | *
160 | * @param x the position where to scroll on the X axis
161 | * @param y the position where to scroll on the Y axis
162 | */
163 | public final void smoothScrollTo(int x, int y) {
164 | smoothScrollBy(x - getScrollX(), y - getScrollY());
165 | }
166 |
167 | }
168 |
--------------------------------------------------------------------------------
/library/src/com/mapsaurus/paneslayout/MenuItemWrapper.java:
--------------------------------------------------------------------------------
1 | package com.mapsaurus.paneslayout;
2 |
3 | import android.content.Intent;
4 | import android.graphics.drawable.Drawable;
5 | import android.view.ActionProvider;
6 | import android.view.SubMenu;
7 | import android.view.View;
8 | import android.view.ContextMenu.ContextMenuInfo;
9 | import android.view.MenuItem.OnActionExpandListener;
10 | import android.view.MenuItem.OnMenuItemClickListener;
11 |
12 | public class MenuItemWrapper implements android.view.MenuItem {
13 |
14 | private com.actionbarsherlock.view.MenuItem item;
15 |
16 | public MenuItemWrapper(com.actionbarsherlock.view.MenuItem item) {
17 | super();
18 | this.item = item;
19 | }
20 | @Override
21 | public int getItemId() {
22 | return item.getItemId();
23 | }
24 |
25 | public boolean isEnabled() {
26 | return true;
27 | }
28 |
29 | @Override
30 | public boolean collapseActionView() {
31 | // TODO Auto-generated method stub
32 | return false;
33 | }
34 |
35 | @Override
36 | public boolean expandActionView() {
37 | // TODO Auto-generated method stub
38 | return false;
39 | }
40 |
41 | @Override
42 | public ActionProvider getActionProvider() {
43 | // TODO Auto-generated method stub
44 | return null;
45 | }
46 |
47 | @Override
48 | public View getActionView() {
49 | // TODO Auto-generated method stub
50 | return null;
51 | }
52 |
53 | @Override
54 | public char getAlphabeticShortcut() {
55 | // TODO Auto-generated method stub
56 | return 0;
57 | }
58 |
59 | @Override
60 | public int getGroupId() {
61 | // TODO Auto-generated method stub
62 | return 0;
63 | }
64 |
65 | @Override
66 | public Drawable getIcon() {
67 | // TODO Auto-generated method stub
68 | return null;
69 | }
70 |
71 | @Override
72 | public Intent getIntent() {
73 | // TODO Auto-generated method stub
74 | return null;
75 | }
76 |
77 | @Override
78 | public ContextMenuInfo getMenuInfo() {
79 | // TODO Auto-generated method stub
80 | return null;
81 | }
82 |
83 | @Override
84 | public char getNumericShortcut() {
85 | // TODO Auto-generated method stub
86 | return 0;
87 | }
88 |
89 | @Override
90 | public int getOrder() {
91 | // TODO Auto-generated method stub
92 | return 0;
93 | }
94 |
95 | @Override
96 | public SubMenu getSubMenu() {
97 | // TODO Auto-generated method stub
98 | return null;
99 | }
100 |
101 | @Override
102 | public CharSequence getTitle() {
103 | // TODO Auto-generated method stub
104 | return null;
105 | }
106 |
107 | @Override
108 | public CharSequence getTitleCondensed() {
109 | // TODO Auto-generated method stub
110 | return null;
111 | }
112 |
113 | @Override
114 | public boolean hasSubMenu() {
115 | // TODO Auto-generated method stub
116 | return false;
117 | }
118 |
119 | @Override
120 | public boolean isActionViewExpanded() {
121 | // TODO Auto-generated method stub
122 | return false;
123 | }
124 |
125 | @Override
126 | public boolean isCheckable() {
127 | // TODO Auto-generated method stub
128 | return false;
129 | }
130 |
131 | @Override
132 | public boolean isChecked() {
133 | // TODO Auto-generated method stub
134 | return false;
135 | }
136 |
137 | @Override
138 | public boolean isVisible() {
139 | // TODO Auto-generated method stub
140 | return false;
141 | }
142 |
143 | @Override
144 | public android.view.MenuItem setActionProvider(ActionProvider actionProvider) {
145 | // TODO Auto-generated method stub
146 | return null;
147 | }
148 |
149 | @Override
150 | public android.view.MenuItem setActionView(View view) {
151 | // TODO Auto-generated method stub
152 | return null;
153 | }
154 |
155 | @Override
156 | public android.view.MenuItem setActionView(int resId) {
157 | // TODO Auto-generated method stub
158 | return null;
159 | }
160 |
161 | @Override
162 | public android.view.MenuItem setAlphabeticShortcut(char alphaChar) {
163 | // TODO Auto-generated method stub
164 | return null;
165 | }
166 |
167 | @Override
168 | public android.view.MenuItem setCheckable(boolean checkable) {
169 | // TODO Auto-generated method stub
170 | return null;
171 | }
172 |
173 | @Override
174 | public android.view.MenuItem setChecked(boolean checked) {
175 | // TODO Auto-generated method stub
176 | return null;
177 | }
178 |
179 | @Override
180 | public android.view.MenuItem setEnabled(boolean enabled) {
181 | // TODO Auto-generated method stub
182 | return null;
183 | }
184 |
185 | @Override
186 | public android.view.MenuItem setIcon(Drawable icon) {
187 | // TODO Auto-generated method stub
188 | return null;
189 | }
190 |
191 | @Override
192 | public android.view.MenuItem setIcon(int iconRes) {
193 | // TODO Auto-generated method stub
194 | return null;
195 | }
196 |
197 | @Override
198 | public android.view.MenuItem setIntent(Intent intent) {
199 | // TODO Auto-generated method stub
200 | return null;
201 | }
202 |
203 | @Override
204 | public android.view.MenuItem setNumericShortcut(char numericChar) {
205 | // TODO Auto-generated method stub
206 | return null;
207 | }
208 |
209 | @Override
210 | public android.view.MenuItem setOnActionExpandListener(OnActionExpandListener listener) {
211 | // TODO Auto-generated method stub
212 | return null;
213 | }
214 |
215 | @Override
216 | public android.view.MenuItem setOnMenuItemClickListener(OnMenuItemClickListener menuItemClickListener) {
217 | // TODO Auto-generated method stub
218 | return null;
219 | }
220 |
221 | @Override
222 | public android.view.MenuItem setShortcut(char numericChar, char alphaChar) {
223 | // TODO Auto-generated method stub
224 | return null;
225 | }
226 |
227 | @Override
228 | public void setShowAsAction(int actionEnum) {
229 | // TODO Auto-generated method stub
230 |
231 | }
232 |
233 | @Override
234 | public android.view.MenuItem setShowAsActionFlags(int actionEnum) {
235 | // TODO Auto-generated method stub
236 | return null;
237 | }
238 |
239 | @Override
240 | public android.view.MenuItem setTitle(CharSequence title) {
241 | // TODO Auto-generated method stub
242 | return null;
243 | }
244 |
245 | @Override
246 | public android.view.MenuItem setTitle(int title) {
247 | // TODO Auto-generated method stub
248 | return null;
249 | }
250 |
251 | @Override
252 | public android.view.MenuItem setTitleCondensed(CharSequence title) {
253 | // TODO Auto-generated method stub
254 | return null;
255 | }
256 |
257 | @Override
258 | public android.view.MenuItem setVisible(boolean visible) {
259 | // TODO Auto-generated method stub
260 | return null;
261 | }
262 | }
263 |
--------------------------------------------------------------------------------
/library/src/com/mapsaurus/paneslayout/PhoneDelegate.java:
--------------------------------------------------------------------------------
1 | package com.mapsaurus.paneslayout;
2 |
3 | import java.lang.ref.WeakReference;
4 | import java.util.ArrayList;
5 |
6 | import com.actionbarsherlock.app.ActionBar;
7 | import com.actionbarsherlock.view.MenuItem;
8 | import com.mapsaurus.panelayout.R;
9 |
10 | import android.app.SearchManager;
11 | import android.content.Intent;
12 | import android.content.res.Configuration;
13 | import android.content.res.Resources;
14 | import android.graphics.drawable.Drawable;
15 | import android.os.Bundle;
16 | import android.support.v4.app.ActionBarDrawerToggle;
17 | import android.support.v4.app.Fragment;
18 | import android.support.v4.app.FragmentManager;
19 | import android.support.v4.app.FragmentTransaction;
20 | import android.support.v4.app.FragmentManager.OnBackStackChangedListener;
21 | import android.support.v4.view.GravityCompat;
22 | import android.support.v4.widget.DrawerLayout;
23 | import android.util.Log;
24 | import android.view.ActionProvider;
25 | import android.view.SubMenu;
26 | import android.view.View;
27 | import android.view.ContextMenu.ContextMenuInfo;
28 | import android.view.MenuItem.OnActionExpandListener;
29 | import android.view.MenuItem.OnMenuItemClickListener;
30 | import android.widget.FrameLayout;
31 | import android.widget.Toast;
32 |
33 | public class PhoneDelegate extends ActivityDelegate implements OnBackStackChangedListener {
34 |
35 | private ActionBarDrawerToggle drawerToggle;
36 | private DrawerLayout drawer;
37 |
38 | public PhoneDelegate(PanesActivity a) {
39 | super(a);
40 | }
41 |
42 | @Override
43 | public void onCreate(Bundle savedInstanceState) {
44 | if (findViewById(R.id.content_frame) == null)
45 | setContentView(R.layout.phone_layout);
46 |
47 | getSupportActionBar().setDisplayHomeAsUpEnabled(true);
48 | getSupportActionBar().setHomeButtonEnabled(true);
49 |
50 | drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
51 | drawer.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
52 |
53 | drawerToggle = new ActionBarDrawerToggle(
54 | getActivity(), drawer, R.drawable.ic_drawer,
55 | R.string.drawer_open, R.string.drawer_close) {
56 | public void onDrawerClosed(View view) {
57 | supportInvalidateOptionsMenu();
58 | // creates call to onPrepareOptionsMenu()
59 | }
60 |
61 | public void onDrawerOpened(View drawerView) {
62 | supportInvalidateOptionsMenu();
63 | // creates call to onPrepareOptionsMenu()
64 | }
65 | };
66 | drawer.setDrawerListener(drawerToggle);
67 |
68 | FragmentManager fm = getSupportFragmentManager();
69 | fm.addOnBackStackChangedListener(this);
70 | }
71 |
72 | /**
73 | * When using the ActionBarDrawerToggle, you must call it during
74 | * onPostCreate() and onConfigurationChanged()...
75 | */
76 |
77 | @Override
78 | protected void onPostCreate(Bundle savedInstanceState) {
79 | // Sync the toggle state after onRestoreInstanceState has occurred.
80 | drawerToggle.syncState();
81 | }
82 |
83 | @Override
84 | public void onConfigurationChanged(Configuration newConfig) {
85 | // Pass any configuration change to the drawer toggles
86 | drawerToggle.onConfigurationChanged(newConfig);
87 | }
88 |
89 | /* *********************************************************************
90 | * Interactions with menu/back/etc
91 | * ********************************************************************* */
92 |
93 | @Override
94 | public boolean onBackPressed() {
95 | return false;
96 | }
97 |
98 | @Override
99 | public boolean onOptionsItemSelected(MenuItem item) {
100 | if (item.getItemId() == android.R.id.home) {
101 | // drawer enabled
102 | if (drawerToggle.isDrawerIndicatorEnabled()) {
103 | // The action bar home/up action should open or close the drawer.
104 | // ActionBarDrawerToggle will take care of this.
105 | if (drawerToggle.onOptionsItemSelected(new MenuItemWrapper(item)))
106 | return true;
107 | } else {
108 | clearFragments();
109 | return true;
110 | }
111 | }
112 |
113 | return false;
114 | }
115 |
116 | @Override
117 | public void onBackStackChanged() {
118 | FragmentManager fm = getSupportFragmentManager();
119 | int count = fm.getBackStackEntryCount();
120 | if (count > 0)
121 | drawerToggle.setDrawerIndicatorEnabled(false);
122 | else
123 | drawerToggle.setDrawerIndicatorEnabled(true);
124 | }
125 |
126 | /* *********************************************************************
127 | * Adding, removing, getting fragments
128 | * ********************************************************************* */
129 |
130 | /**
131 | * Save the menu fragment. The reason to do this is because sometimes when
132 | * we need to retrieve a fragment, that fragment has not yet been added.
133 | */
134 | private WeakReference wMenuFragment = new WeakReference(null);
135 |
136 | @Override
137 | public void addFragment(Fragment prevFragment, Fragment newFragment) {
138 | boolean addToBackStack = false;
139 | if (prevFragment == getMenuFragment() || prevFragment == null) {
140 | clearFragments();
141 | } else {
142 | addToBackStack = true;
143 | }
144 |
145 | drawer.closeDrawer(GravityCompat.START);
146 |
147 | if (newFragment != null) {
148 | FragmentManager fm = getSupportFragmentManager();
149 | FragmentTransaction ft = fm.beginTransaction();
150 | ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out,
151 | android.R.anim.fade_in, android.R.anim.fade_out);
152 | ft.replace(R.id.content_frame, newFragment);
153 | if (addToBackStack) ft.addToBackStack(newFragment.toString());
154 | ft.commit();
155 | }
156 | }
157 |
158 | @Override
159 | public void clearFragments() {
160 | FragmentManager fm = getSupportFragmentManager();
161 | for(int i = 0; i < fm.getBackStackEntryCount(); i ++)
162 | fm.popBackStack();
163 | }
164 |
165 | @Override
166 | public void setMenuFragment(Fragment f) {
167 | FragmentManager fm = getSupportFragmentManager();
168 | FragmentTransaction ft = fm.beginTransaction();
169 | ft.replace(R.id.menu_frame, f);
170 | ft.commit();
171 |
172 | wMenuFragment = new WeakReference(f);
173 | }
174 |
175 | @Override
176 | public Fragment getMenuFragment() {
177 | Fragment f = wMenuFragment.get();
178 | if (f == null) {
179 | f = getSupportFragmentManager().findFragmentById(R.id.menu_frame);
180 | wMenuFragment = new WeakReference(f);
181 | }
182 | return f;
183 | }
184 |
185 | @Override
186 | public Fragment getTopFragment() {
187 | return getSupportFragmentManager().findFragmentById(R.id.content_frame);
188 | }
189 |
190 | @Override
191 | public void showMenu() {
192 | drawer.openDrawer(GravityCompat.START);
193 | }
194 |
195 | }
196 |
--------------------------------------------------------------------------------
/library/src/com/mapsaurus/paneslayout/TabletDelegate.java:
--------------------------------------------------------------------------------
1 | package com.mapsaurus.paneslayout;
2 |
3 | import java.util.ArrayList;
4 |
5 | import android.os.Bundle;
6 | import android.support.v4.app.Fragment;
7 | import android.support.v4.app.FragmentManager;
8 | import android.support.v4.app.FragmentTransaction;
9 | import android.util.Log;
10 | import android.view.View;
11 | import android.view.ViewGroup;
12 |
13 | import com.actionbarsherlock.view.MenuItem;
14 | import com.mapsaurus.panelayout.R;
15 | import com.mapsaurus.paneslayout.PanesLayout.OnIndexChangedListener;
16 | import com.mapsaurus.paneslayout.PanesLayout.PaneView;
17 | import com.mapsaurus.paneslayout.PanesSizer.PaneSizer;
18 |
19 | public class TabletDelegate extends ActivityDelegate implements PanesLayout.OnIndexChangedListener {
20 |
21 | private PaneSizer mPaneSizer;
22 |
23 | public void setPaneSizer(PaneSizer sizer) {
24 | panesLayout.setPaneSizer(sizer);
25 | mPaneSizer = sizer;
26 | }
27 |
28 | /**
29 | * This provides all the logic for displaying and moving panes.
30 | */
31 | protected PanesLayout panesLayout;
32 |
33 | public TabletDelegate(PanesActivity a) {
34 | super(a);
35 | }
36 |
37 | /**
38 | * Enable the action-bar home button if appropriate
39 | */
40 | @Override
41 | public void onIndexChanged(int firstIndex, int lastIndex,
42 | int firstCompleteIndex, int lastCompleteIndex) {
43 | if (firstCompleteIndex == 0)
44 | getSupportActionBar().setDisplayHomeAsUpEnabled(false);
45 | else getSupportActionBar().setDisplayHomeAsUpEnabled(true);
46 | }
47 |
48 | /**
49 | * On action-bar home button selected, slide to the menu
50 | */
51 | @Override
52 | public boolean onOptionsItemSelected(MenuItem item) {
53 | switch (item.getItemId()) {
54 | case android.R.id.home:
55 | panesLayout.setIndex(0);
56 | return true;
57 | }
58 | return false;
59 | }
60 |
61 | /**
62 | * Handle back press
63 | */
64 | @Override
65 | public boolean onBackPressed() {
66 | if (panesLayout.onBackPressed()) return true;
67 | return false;
68 | }
69 |
70 | /**
71 | * Save the state of the panes
72 | */
73 | @Override
74 | public void onSaveInstanceState(Bundle savedInstanceState) {
75 | int[] panesType = new int[panesLayout.getNumPanes()];
76 | boolean[] panesFocused = new boolean[panesLayout.getNumPanes()];
77 | for (int i = 0; i < panesLayout.getNumPanes(); i ++) {
78 | PaneView p = panesLayout.getPane(i);
79 | panesType[i] = p.type;
80 | panesFocused[i] = p.focused;
81 | }
82 |
83 | savedInstanceState.putIntArray("PanesLayout_panesType", panesType);
84 | savedInstanceState.putBooleanArray("PanesLayout_panesFocused", panesFocused);
85 | savedInstanceState.putInt("PanesLayout_currentIndex", panesLayout.getCurrentIndex());
86 | }
87 |
88 | @Override
89 | public void onDestroy() {
90 | panesLayout.setOnIndexChangedListener(null);
91 | }
92 |
93 | @Override
94 | public void onCreate(Bundle savedInstanceState) {
95 | if (findViewById(R.id.content_frame) == null) {
96 | setContentView(R.layout.panes_layout);
97 | } else {
98 | View.inflate(getActivity(), R.layout.panes_layout,
99 | (ViewGroup) findViewById(R.id.content_frame));
100 | }
101 |
102 | panesLayout = (PanesLayout) findViewById(R.id.panes);
103 | panesLayout.setOnIndexChangedListener(this);
104 |
105 | if (savedInstanceState != null) {
106 | int[] panesType = savedInstanceState.getIntArray("PanesLayout_panesType");
107 | boolean[] panesFocused = savedInstanceState.getBooleanArray("PanesLayout_panesFocused");
108 | int currentIndex = savedInstanceState.getInt("PanesLayout_currentIndex");
109 | for (int i = 0; i < panesType.length; i ++) {
110 | panesLayout.addPane(panesType[i], panesFocused[i]);
111 | }
112 | panesLayout.setIndex(currentIndex);
113 | }
114 |
115 | if (savedInstanceState != null) {
116 | FragmentManager fm = getSupportFragmentManager();
117 |
118 | for (int index = 0; index < panesLayout.getNumPanes(); index ++) {
119 | int id = panesLayout.getPane(index).getInnerId();
120 | Fragment f = fm.findFragmentById(id);
121 |
122 | fragmentStack.add(f);
123 | }
124 | }
125 | }
126 |
127 | /* *********************************************************************
128 | * Methods for dealing with adding/removing fragments.
129 | * ********************************************************************* */
130 |
131 | /**
132 | * Save the fragment stack manually. The reason to do this is because sometimes when
133 | * we need to retrieve a fragment, that fragment has not yet been added.
134 | */
135 | private ArrayList fragmentStack = new ArrayList();
136 |
137 | private void clearFragments(int index) {
138 | while (index < fragmentStack.size())
139 | fragmentStack.remove(index);
140 |
141 | ArrayList panes = panesLayout.removePanes(index);
142 | FragmentManager fm = getSupportFragmentManager();
143 | FragmentTransaction ft = fm.beginTransaction();
144 |
145 | for (PaneView pane : panes) {
146 | int id = pane.getInnerId();
147 | Fragment f = fm.findFragmentById(id);
148 | if (f != null)
149 | ft.remove(f);
150 | }
151 |
152 | ft.commit();
153 | }
154 |
155 | private void addFragment(Fragment f, int index) {
156 | if (f == null) return;
157 |
158 | clearFragments(index + 1);
159 |
160 | int type = 0;
161 | boolean focused = false;
162 |
163 | PaneSizer paneSizer = mPaneSizer;
164 | if (paneSizer != null) {
165 | type = paneSizer.getType(f);
166 | focused = paneSizer.getFocused(f);
167 | }
168 |
169 | PaneView p = panesLayout.getPane(index);
170 | if (p != null && p.type == type && p.focused == focused) {
171 | } else {
172 | clearFragments(index);
173 | p = panesLayout.addPane(type, focused);
174 | if (p.index != index)
175 | throw new IllegalStateException("Added pane has wrong index");
176 | }
177 |
178 | panesLayout.setIndex(index);
179 |
180 | FragmentManager fm = getSupportFragmentManager();
181 | FragmentTransaction ft = fm.beginTransaction();
182 | ft.replace(p.getInnerId(), f);
183 | ft.commit();
184 |
185 | fragmentStack.add(index, f);
186 | }
187 |
188 | @Override
189 | public void addFragment(Fragment oldFragment, Fragment newFragment) {
190 | if (newFragment != null) {
191 | int index = 1; // by default, add after menu
192 |
193 | int oldIndex = getIndex(oldFragment);
194 | if (oldIndex != -1) index = oldIndex + 1;
195 |
196 | addFragment(newFragment, index);
197 | } else {
198 | panesLayout.setIndex(1);
199 | }
200 | }
201 |
202 | @Override
203 | public void clearFragments() {
204 | clearFragments(0);
205 | }
206 |
207 | @Override
208 | public void setMenuFragment(Fragment menuFragment) {
209 | addFragment(menuFragment, 0);
210 | }
211 |
212 | private int getIndex(Fragment f) {
213 | for (int i = 0; i < fragmentStack.size(); i ++) {
214 | if (fragmentStack.get(i) == f)
215 | return i;
216 | }
217 | return -1;
218 | }
219 |
220 | private Fragment getFragment(int index) {
221 | if (index < fragmentStack.size() && index >= 0)
222 | return fragmentStack.get(index);
223 |
224 | // PaneView pane = panesLayout.getPane(index);
225 | // FragmentManager fm = getSupportFragmentManager();
226 | // Fragment f = fm.findFragmentById(pane.getInnerId());
227 |
228 | return null;
229 | }
230 |
231 | @Override
232 | public Fragment getMenuFragment() {
233 | return getFragment(0);
234 | }
235 |
236 | @Override
237 | public Fragment getTopFragment() {
238 | return getFragment(panesLayout.getNumPanes() - 1);
239 | }
240 |
241 | @Override
242 | public void showMenu() {
243 | panesLayout.setIndex(0);
244 | }
245 |
246 | }
247 |
--------------------------------------------------------------------------------
/library/src/com/mapsaurus/paneslayout/PanesLayout.java:
--------------------------------------------------------------------------------
1 | package com.mapsaurus.paneslayout;
2 |
3 | import java.lang.ref.WeakReference;
4 | import java.util.ArrayList;
5 |
6 | import com.mapsaurus.panelayout.R;
7 | import com.mapsaurus.paneslayout.PanesSizer.PaneSizer;
8 |
9 | import android.content.Context;
10 | import android.graphics.Rect;
11 | import android.util.AttributeSet;
12 | import android.util.Log;
13 | import android.view.MotionEvent;
14 | import android.view.View;
15 | import android.view.ViewGroup;
16 | import android.view.inputmethod.InputMethodManager;
17 | import android.widget.EditText;
18 | import android.widget.FrameLayout;
19 | import android.widget.HorizontalScrollView;
20 | import android.widget.LinearLayout;
21 | import android.widget.Scroller;
22 |
23 | public class PanesLayout extends FrameLayout {
24 |
25 | /**
26 | * Each pane exists inside of a scroll view.
27 | */
28 | private ArrayList scrollers;
29 |
30 | /**
31 | * Each pane contains a container for something else (fragment, view, etc)
32 | */
33 | private ArrayList panes;
34 |
35 | /**
36 | * Index (index) of the currently selected index
37 | */
38 | private int currentIndex = 0;
39 |
40 | /**
41 | * Currently visible indexes. Complete means the pane is completely visible.
42 | */
43 | private int firstIndex;
44 | private int firstCompleteIndex;
45 | private int lastIndex;
46 | private int lastCompleteIndex;
47 |
48 | private int parentWidth;
49 | private int parentHeight;
50 |
51 | /**
52 | * Set whenever panes are changed Unset whenever index is set
53 | */
54 | private boolean panesChanged = true;
55 |
56 | /**
57 | * This object sets the size of every pane base on it's type and focus
58 | */
59 | private PaneSizer mPaneSizer;
60 |
61 | public void setPaneSizer(PaneSizer sizer) {
62 | this.mPaneSizer = sizer;
63 | this.requestLayout();
64 | }
65 |
66 | /**
67 | * Whenever the visible panes change, this is fired.
68 | */
69 | public interface OnIndexChangedListener {
70 | /**
71 | * @param firstIndex
72 | * = the bottom-most visible pane
73 | * @param lastIndex
74 | * = the top-most visible pane
75 | * @param firstCompleteIndex
76 | * = the bottom-most completely visible pane
77 | * @param lastCompleteIndex
78 | * = the top-most completely visible pane
79 | */
80 | public void onIndexChanged(int firstIndex, int lastIndex,
81 | int firstCompleteIndex, int lastCompleteIndex);
82 | }
83 |
84 | private OnIndexChangedListener mIndexChangedListener;
85 |
86 | public void setOnIndexChangedListener(OnIndexChangedListener l) {
87 | this.mIndexChangedListener = l;
88 | }
89 |
90 | public PanesLayout(Context context) {
91 | this(context, null);
92 | }
93 |
94 | public PanesLayout(Context context, AttributeSet attrs) {
95 | super(context, attrs);
96 |
97 | scrollers = new ArrayList();
98 | panes = new ArrayList();
99 | }
100 |
101 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
102 | parentWidth = MeasureSpec.getSize(widthMeasureSpec)
103 | - this.getPaddingLeft() - this.getPaddingRight();
104 | parentHeight = MeasureSpec.getSize(heightMeasureSpec)
105 | - this.getPaddingTop() - this.getPaddingBottom();
106 | super.onMeasure(widthMeasureSpec, heightMeasureSpec);
107 | }
108 |
109 | /**
110 | * Inside onLayout, we might need to update the index/scroll of the panes.
111 | */
112 | @Override
113 | protected void onLayout(boolean changed, int l, int t, int r, int b) {
114 | super.onLayout(changed, l, t, r, b);
115 |
116 | if (panesChanged || changed) {
117 | setIndex(currentIndex);
118 | panesChanged = false;
119 | }
120 | }
121 |
122 | private int getPaneX(SimpleScrollView scroll) {
123 | return parentWidth - scroll.getScrollX();
124 | }
125 |
126 | private PaneView getPaneFromScroll(double x) {
127 | for (int i = lastIndex; i >= 0; i--) {
128 | SimpleScrollView scroll = scrollers.get(i);
129 | PaneView pane = panes.get(i);
130 | if (pane == null || scroll == null)
131 | return null;
132 |
133 | if (x > getPaneX(scroll))
134 | return pane;
135 | }
136 |
137 | return null;
138 | }
139 |
140 | private double clampIndex(double index) {
141 | if (index < 0)
142 | index = 0;
143 | if (index > scrollers.size() - 1)
144 | index = scrollers.size() - 1;
145 | return index;
146 | }
147 |
148 | private void scrollHelper(SimpleScrollView s, double scrollX, boolean smooth) {
149 | scrollX = Math.min(scrollX, parentWidth);
150 | scrollX = Math.max(scrollX, 0);
151 |
152 | if (smooth)
153 | s.smoothScrollTo((int) scrollX, 0);
154 | else
155 | s.scrollTo((int) scrollX, 0);
156 | }
157 |
158 | /**
159 | * Scroll all the panes based on some index. Returns which index is the
160 | * top-most pane.
161 | */
162 | private boolean partiallyVisible(int scroll, int width) {
163 | return (scroll - width < parentWidth + 5 && scroll >= 5);
164 | }
165 |
166 | private boolean completelyVisible(int scroll, int width) {
167 | return (scroll <= parentWidth + 5 && scroll - width >= -5);
168 | }
169 |
170 | private boolean scrollEverything(double index, boolean smooth) {
171 | if (parentWidth <= 0)
172 | return false;
173 |
174 | index = clampIndex(index);
175 |
176 | // get the top index
177 | int topIndex = (int) Math.ceil(index);
178 | if (topIndex < 0 || topIndex >= panes.size())
179 | return false;
180 |
181 | // get the minX & maxX of the top index
182 | PaneView topPane = panes.get(topIndex);
183 | SimpleScrollView topScroller = scrollers.get(topIndex);
184 | if (topPane == null)
185 | return false;
186 |
187 | int topWidth = topPane.containerWidth;
188 | double p = (topIndex - index);
189 | int topScroll = (int) (topWidth - topWidth * p);// + scrollOffset;
190 |
191 | int firstScroll = topScroll;
192 | for (int i = topIndex - 1; i >= 0; i--) {
193 | PaneView pane = panes.get(i);
194 | if (pane == null)
195 | continue;
196 | firstScroll += pane.containerWidth;
197 | }
198 |
199 | if (firstScroll < parentWidth)
200 | topScroll += parentWidth - firstScroll;
201 |
202 | // scroll the top pane!
203 | scrollHelper(topScroller, topScroll, smooth);
204 |
205 | int firstIndex = topIndex;
206 | int firstCompleteIndex = topIndex;
207 | int lastIndex = topIndex;
208 | int lastCompleteIndex = topIndex;
209 |
210 | int scroll = topScroll - topWidth;
211 | // move all panes after the top pane
212 | for (int i = topIndex + 1; i < panes.size(); i++) {
213 | SimpleScrollView scroller = scrollers.get(i);
214 | PaneView pane = panes.get(i);
215 | if (scroller == null || pane == null)
216 | continue;
217 | int width = pane.containerWidth;
218 |
219 | scrollHelper(scroller, scroll, smooth);
220 |
221 | if (partiallyVisible(scroll, width))
222 | lastIndex = i;
223 | if (completelyVisible(scroll, width))
224 | lastCompleteIndex = i;
225 |
226 | scroll -= pane.containerWidth;
227 | }
228 |
229 | scroll = topScroll;
230 | // move each pane before the top pane
231 | for (int i = topIndex - 1; i >= 0; i--) {
232 | SimpleScrollView scroller = scrollers.get(i);
233 | PaneView pane = panes.get(i);
234 | if (scroller == null || pane == null)
235 | continue;
236 | int width = pane.containerWidth;
237 |
238 | scroll += pane.containerWidth;
239 | scrollHelper(scroller, scroll, smooth);
240 |
241 | if (partiallyVisible(scroll, width))
242 | firstIndex = i;
243 | if (completelyVisible(scroll, width))
244 | firstCompleteIndex = i;
245 | }
246 |
247 | if (this.firstIndex != firstIndex
248 | || this.firstCompleteIndex != firstCompleteIndex
249 | || this.lastIndex != lastIndex
250 | || this.lastCompleteIndex != lastCompleteIndex) {
251 | this.firstIndex = firstIndex;
252 | this.firstCompleteIndex = firstCompleteIndex;
253 | this.lastIndex = lastIndex;
254 | this.lastCompleteIndex = lastCompleteIndex;
255 | OnIndexChangedListener l = mIndexChangedListener;
256 | if (l != null)
257 | l.onIndexChanged(firstIndex, lastIndex, firstCompleteIndex,
258 | lastCompleteIndex);
259 | }
260 |
261 | return true;
262 | }
263 |
264 | public void setIndex(int index) {
265 | index = (int) clampIndex(index);
266 | if (scrollEverything(index, true))
267 | currentIndex = lastCompleteIndex;
268 | else
269 | currentIndex = index;
270 | }
271 |
272 | public int getCurrentIndex() {
273 | return currentIndex;
274 | }
275 |
276 | public int getNumPanes() {
277 | return panes.size();
278 | }
279 |
280 | public PaneView getPane(int i) {
281 | if (i >= panes.size())
282 | return null;
283 | if (i < 0)
284 | return null;
285 | return panes.get(i);
286 | }
287 |
288 | public PaneView addPane(int type, boolean focused) {
289 | panesChanged = true;
290 |
291 | int index = panes.size();
292 |
293 | PaneView pane = new PaneView(getContext(), type, index, focused);
294 | panes.add(pane);
295 |
296 | SimpleScrollView scroller = new SimpleScrollView(getContext());
297 | scrollers.add(scroller);
298 |
299 | scroller.addView(pane);
300 | addView(scroller, index);
301 |
302 | return pane;
303 | }
304 |
305 | public ArrayList removePanes(int removeI) {
306 | panesChanged = true;
307 |
308 | ArrayList deletedPanes = new ArrayList();
309 | for (int i = scrollers.size() - 1; i >= removeI; i--) {
310 | if (i < 0)
311 | break;
312 |
313 | scrollers.remove(i);
314 | deletedPanes.add(panes.remove(i));
315 | removeViewAt(i);
316 | }
317 |
318 | if (removeI <= currentIndex)
319 | setIndex(removeI - 1);
320 | return deletedPanes;
321 | }
322 |
323 | private double currentX;
324 | private double startX;
325 |
326 | private double currentY;
327 | private double startY;
328 |
329 | private boolean dragging;
330 |
331 | private void onTouchEventHelper(MotionEvent event) {
332 | currentX = event.getX();
333 |
334 | if (event.getAction() == MotionEvent.ACTION_DOWN) {
335 | startX = currentX;
336 | dragging = true;
337 | }
338 | }
339 |
340 | @Override
341 | public boolean onInterceptTouchEvent(MotionEvent event) {
342 | onTouchEventHelper(event);
343 |
344 | double dx = Math.abs(currentX - startX);
345 | double dy = Math.abs(currentY - startY);
346 |
347 | if (dx > 4 * dy && dx > 10) {
348 | PaneView p = getPaneFromScroll(startX);
349 |
350 | // int bevelSize =
351 | // getResources().getDimensionPixelSize(R.dimen.bevel_size);
352 |
353 | if (p != null && p.focused == true
354 | && (p.index >= firstCompleteIndex && p.index <= lastCompleteIndex)) {
355 | return false;
356 | }
357 |
358 | return true;
359 | }
360 |
361 | return false;
362 | }
363 |
364 | @Override
365 | public boolean onTouchEvent(MotionEvent event) {
366 | if (!dragging)
367 | return true;
368 |
369 | onTouchEventHelper(event);
370 |
371 | double scroll = currentX - startX;
372 | double dIndex = -scroll / (parentWidth * 0.25);
373 |
374 | scrollEverything(currentIndex + dIndex, false);
375 |
376 | if ((event.getAction() == MotionEvent.ACTION_MOVE && Math.abs(dIndex) > 0.5)
377 | || event.getAction() == MotionEvent.ACTION_UP) {
378 | setIndex((int) Math.round(currentIndex + dIndex));
379 |
380 | dragging = false;
381 |
382 | if (Math.abs(dIndex) > 0.25)
383 | return true;
384 | }
385 |
386 | return true;
387 | }
388 |
389 | public class PaneView extends LinearLayout {
390 |
391 | public int containerWidth;
392 |
393 | public int index;
394 | public int type;
395 | public boolean focused;
396 |
397 | private View startPadding;
398 | private View leftShadow;
399 |
400 | private ViewGroup container;
401 |
402 | private View rightShadow;
403 | private View endPadding;
404 |
405 | public int getInnerId() {
406 | return container.getId();
407 | }
408 |
409 | public ViewGroup getInner() {
410 | return container;
411 | }
412 |
413 | public PaneView(Context context, int type_, int index_, boolean focused_) {
414 | super(context);
415 |
416 | focused = focused_;
417 | index = index_;
418 | type = type_;
419 |
420 | setOrientation(LinearLayout.HORIZONTAL);
421 | setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
422 | LayoutParams.MATCH_PARENT));
423 |
424 | startPadding = new View(context);
425 | startPadding.setVisibility(View.INVISIBLE);
426 |
427 | leftShadow = new View(context);
428 | leftShadow.setBackgroundResource(R.drawable.shadow_left);
429 |
430 | addView(startPadding);
431 | addView(leftShadow);
432 |
433 | container = new FrameLayout(context);
434 | container.setId(Integer.MAX_VALUE - index);
435 | container.setClickable(true);
436 | addView(container);
437 |
438 | rightShadow = new View(context);
439 | rightShadow.setBackgroundResource(R.drawable.shadow_right);
440 |
441 | endPadding = new View(context);
442 | endPadding.setVisibility(View.INVISIBLE);
443 |
444 | addView(rightShadow);
445 | addView(endPadding);
446 | }
447 |
448 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
449 | int shadowWidth = getResources().getDimensionPixelSize(
450 | R.dimen.shadow_size);
451 |
452 | startPadding.measure(MeasureSpec.makeMeasureSpec(parentWidth
453 | - shadowWidth, MeasureSpec.EXACTLY), MeasureSpec
454 | .makeMeasureSpec(parentHeight, MeasureSpec.EXACTLY));
455 |
456 | leftShadow.measure(MeasureSpec.makeMeasureSpec(shadowWidth,
457 | MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(
458 | parentHeight, MeasureSpec.EXACTLY));
459 |
460 | PaneSizer paneSizer = mPaneSizer;
461 | if (paneSizer != null)
462 | containerWidth = paneSizer.getWidth(index, type, parentWidth,
463 | parentHeight);
464 | else
465 | containerWidth = (int) (0.7 * parentWidth);
466 |
467 | container.measure(MeasureSpec.makeMeasureSpec(containerWidth,
468 | MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(
469 | parentHeight, MeasureSpec.EXACTLY));
470 |
471 | rightShadow.measure(MeasureSpec.makeMeasureSpec(shadowWidth,
472 | MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(
473 | parentHeight, MeasureSpec.EXACTLY));
474 |
475 | endPadding.measure(MeasureSpec.makeMeasureSpec(parentWidth
476 | - containerWidth - shadowWidth, MeasureSpec.EXACTLY),
477 | MeasureSpec.makeMeasureSpec(parentHeight,
478 | MeasureSpec.EXACTLY));
479 |
480 | this.setMeasuredDimension(
481 | resolveSize(parentWidth * 2, widthMeasureSpec),
482 | resolveSize(parentHeight, heightMeasureSpec));
483 | }
484 | }
485 |
486 | public boolean onBackPressed() {
487 | int oldIndex = currentIndex;
488 | setIndex(currentIndex - 1);
489 |
490 | if (oldIndex != currentIndex)
491 | return true;
492 | return false;
493 | }
494 |
495 | }
--------------------------------------------------------------------------------
/example/gen/com/actionbarsherlock/R.java:
--------------------------------------------------------------------------------
1 | /* AUTO-GENERATED FILE. DO NOT MODIFY.
2 | *
3 | * This class was automatically generated by the
4 | * aapt tool from the resource data it found. It
5 | * should not be modified by hand.
6 | */
7 | package com.actionbarsherlock;
8 |
9 | public final class R {
10 | public static final class attr {
11 | public static final int actionBarDivider = 0x7f01000e;
12 | public static final int actionBarItemBackground = 0x7f01000f;
13 | public static final int actionBarSize = 0x7f01000d;
14 | public static final int actionBarSplitStyle = 0x7f01000b;
15 | public static final int actionBarStyle = 0x7f01000a;
16 | public static final int actionBarTabBarStyle = 0x7f010007;
17 | public static final int actionBarTabStyle = 0x7f010006;
18 | public static final int actionBarTabTextStyle = 0x7f010008;
19 | public static final int actionBarWidgetTheme = 0x7f01000c;
20 | public static final int actionButtonStyle = 0x7f01003a;
21 | public static final int actionDropDownStyle = 0x7f010039;
22 | public static final int actionMenuTextAppearance = 0x7f010010;
23 | public static final int actionMenuTextColor = 0x7f010011;
24 | public static final int actionModeBackground = 0x7f010014;
25 | public static final int actionModeCloseButtonStyle = 0x7f010013;
26 | public static final int actionModeCloseDrawable = 0x7f010016;
27 | public static final int actionModePopupWindowStyle = 0x7f010018;
28 | public static final int actionModeShareDrawable = 0x7f010017;
29 | public static final int actionModeSplitBackground = 0x7f010015;
30 | public static final int actionModeStyle = 0x7f010012;
31 | public static final int actionOverflowButtonStyle = 0x7f010009;
32 | public static final int actionSpinnerItemStyle = 0x7f01003f;
33 | public static final int activatedBackgroundIndicator = 0x7f010047;
34 | public static final int activityChooserViewStyle = 0x7f010046;
35 | public static final int background = 0x7f010002;
36 | public static final int backgroundSplit = 0x7f010003;
37 | public static final int backgroundStacked = 0x7f01004f;
38 | public static final int buttonStyleSmall = 0x7f010019;
39 | public static final int customNavigationLayout = 0x7f010050;
40 | public static final int displayOptions = 0x7f01004a;
41 | public static final int divider = 0x7f010005;
42 | public static final int dividerVertical = 0x7f010038;
43 | public static final int dropDownHintAppearance = 0x7f010048;
44 | public static final int dropDownListViewStyle = 0x7f01003c;
45 | public static final int dropdownListPreferredItemHeight = 0x7f01003e;
46 | public static final int expandActivityOverflowButtonDrawable = 0x7f01005f;
47 | public static final int headerBackground = 0x7f010059;
48 | public static final int height = 0x7f010004;
49 | public static final int homeAsUpIndicator = 0x7f01003b;
50 | public static final int homeLayout = 0x7f010051;
51 | public static final int horizontalDivider = 0x7f010057;
52 | public static final int icon = 0x7f01004d;
53 | public static final int iconifiedByDefault = 0x7f010060;
54 | public static final int indeterminateProgressStyle = 0x7f010053;
55 | public static final int initialActivityCount = 0x7f01005e;
56 | public static final int itemBackground = 0x7f01005a;
57 | public static final int itemIconDisabledAlpha = 0x7f01005c;
58 | public static final int itemPadding = 0x7f010055;
59 | public static final int itemTextAppearance = 0x7f010056;
60 | public static final int listPopupWindowStyle = 0x7f010045;
61 | public static final int listPreferredItemHeightSmall = 0x7f010032;
62 | public static final int listPreferredItemPaddingLeft = 0x7f010033;
63 | public static final int listPreferredItemPaddingRight = 0x7f010034;
64 | public static final int logo = 0x7f01004e;
65 | public static final int navigationMode = 0x7f010049;
66 | public static final int popupMenuStyle = 0x7f01003d;
67 | public static final int preserveIconSpacing = 0x7f01005d;
68 | public static final int progressBarPadding = 0x7f010054;
69 | public static final int progressBarStyle = 0x7f010052;
70 | public static final int queryHint = 0x7f010061;
71 | public static final int searchAutoCompleteTextView = 0x7f010024;
72 | public static final int searchDropdownBackground = 0x7f010025;
73 | public static final int searchResultListItemHeight = 0x7f01002f;
74 | public static final int searchViewCloseIcon = 0x7f010026;
75 | public static final int searchViewEditQuery = 0x7f01002a;
76 | public static final int searchViewEditQueryBackground = 0x7f01002b;
77 | public static final int searchViewGoIcon = 0x7f010027;
78 | public static final int searchViewSearchIcon = 0x7f010028;
79 | public static final int searchViewTextField = 0x7f01002c;
80 | public static final int searchViewTextFieldRight = 0x7f01002d;
81 | public static final int searchViewVoiceIcon = 0x7f010029;
82 | public static final int selectableItemBackground = 0x7f01001a;
83 | public static final int spinnerDropDownItemStyle = 0x7f010023;
84 | public static final int spinnerItemStyle = 0x7f010022;
85 | public static final int subtitle = 0x7f01004c;
86 | public static final int subtitleTextStyle = 0x7f010001;
87 | public static final int textAppearanceLargePopupMenu = 0x7f01001c;
88 | public static final int textAppearanceListItemSmall = 0x7f010035;
89 | public static final int textAppearanceSearchResultSubtitle = 0x7f010031;
90 | public static final int textAppearanceSearchResultTitle = 0x7f010030;
91 | public static final int textAppearanceSmall = 0x7f01001e;
92 | public static final int textAppearanceSmallPopupMenu = 0x7f01001d;
93 | public static final int textColorPrimary = 0x7f01001f;
94 | public static final int textColorPrimaryDisableOnly = 0x7f010020;
95 | public static final int textColorPrimaryInverse = 0x7f010021;
96 | public static final int textColorSearchUrl = 0x7f01002e;
97 | public static final int title = 0x7f01004b;
98 | public static final int titleTextStyle = 0x7f010000;
99 | public static final int verticalDivider = 0x7f010058;
100 | public static final int windowActionBar = 0x7f010041;
101 | public static final int windowActionBarOverlay = 0x7f010042;
102 | public static final int windowActionModeOverlay = 0x7f010043;
103 | public static final int windowAnimationStyle = 0x7f01005b;
104 | public static final int windowContentOverlay = 0x7f01001b;
105 | public static final int windowMinWidthMajor = 0x7f010036;
106 | public static final int windowMinWidthMinor = 0x7f010037;
107 | public static final int windowNoTitle = 0x7f010040;
108 | public static final int windowSplitActionBar = 0x7f010044;
109 | }
110 | public static final class bool {
111 | public static final int abs__action_bar_embed_tabs = 0x7f050000;
112 | public static final int abs__action_bar_expanded_action_views_exclusive = 0x7f050002;
113 | public static final int abs__config_actionMenuItemAllCaps = 0x7f050004;
114 | public static final int abs__config_allowActionMenuItemTextWithIcon = 0x7f050005;
115 | public static final int abs__config_showMenuShortcutsWhenKeyboardPresent = 0x7f050003;
116 | public static final int abs__split_action_bar_is_narrow = 0x7f050001;
117 | }
118 | public static final class color {
119 | public static final int abs__background_holo_dark = 0x7f060000;
120 | public static final int abs__background_holo_light = 0x7f060001;
121 | public static final int abs__bright_foreground_disabled_holo_dark = 0x7f060004;
122 | public static final int abs__bright_foreground_disabled_holo_light = 0x7f060005;
123 | public static final int abs__bright_foreground_holo_dark = 0x7f060002;
124 | public static final int abs__bright_foreground_holo_light = 0x7f060003;
125 | public static final int abs__primary_text_disable_only_holo_dark = 0x7f060006;
126 | public static final int abs__primary_text_disable_only_holo_light = 0x7f060007;
127 | public static final int abs__primary_text_holo_dark = 0x7f060008;
128 | public static final int abs__primary_text_holo_light = 0x7f060009;
129 | }
130 | public static final class dimen {
131 | public static final int abs__action_bar_default_height = 0x7f070001;
132 | public static final int abs__action_bar_icon_vertical_padding = 0x7f070002;
133 | public static final int abs__action_bar_subtitle_bottom_margin = 0x7f070006;
134 | public static final int abs__action_bar_subtitle_text_size = 0x7f070004;
135 | public static final int abs__action_bar_subtitle_top_margin = 0x7f070005;
136 | public static final int abs__action_bar_title_text_size = 0x7f070003;
137 | public static final int abs__action_button_min_width = 0x7f070007;
138 | public static final int abs__config_prefDialogWidth = 0x7f070000;
139 | public static final int abs__dialog_min_width_major = 0x7f07000d;
140 | public static final int abs__dialog_min_width_minor = 0x7f07000e;
141 | public static final int abs__dropdownitem_icon_width = 0x7f07000a;
142 | public static final int abs__dropdownitem_text_padding_left = 0x7f070008;
143 | public static final int abs__dropdownitem_text_padding_right = 0x7f070009;
144 | public static final int abs__search_view_preferred_width = 0x7f07000c;
145 | public static final int abs__search_view_text_min_width = 0x7f07000b;
146 | }
147 | public static final class drawable {
148 | public static final int abs__ab_bottom_solid_dark_holo = 0x7f020000;
149 | public static final int abs__ab_bottom_solid_inverse_holo = 0x7f020001;
150 | public static final int abs__ab_bottom_solid_light_holo = 0x7f020002;
151 | public static final int abs__ab_bottom_transparent_dark_holo = 0x7f020003;
152 | public static final int abs__ab_bottom_transparent_light_holo = 0x7f020004;
153 | public static final int abs__ab_share_pack_holo_dark = 0x7f020005;
154 | public static final int abs__ab_share_pack_holo_light = 0x7f020006;
155 | public static final int abs__ab_solid_dark_holo = 0x7f020007;
156 | public static final int abs__ab_solid_light_holo = 0x7f020008;
157 | public static final int abs__ab_solid_shadow_holo = 0x7f020009;
158 | public static final int abs__ab_stacked_solid_dark_holo = 0x7f02000a;
159 | public static final int abs__ab_stacked_solid_light_holo = 0x7f02000b;
160 | public static final int abs__ab_stacked_transparent_dark_holo = 0x7f02000c;
161 | public static final int abs__ab_stacked_transparent_light_holo = 0x7f02000d;
162 | public static final int abs__ab_transparent_dark_holo = 0x7f02000e;
163 | public static final int abs__ab_transparent_light_holo = 0x7f02000f;
164 | public static final int abs__activated_background_holo_dark = 0x7f020010;
165 | public static final int abs__activated_background_holo_light = 0x7f020011;
166 | public static final int abs__btn_cab_done_default_holo_dark = 0x7f020012;
167 | public static final int abs__btn_cab_done_default_holo_light = 0x7f020013;
168 | public static final int abs__btn_cab_done_focused_holo_dark = 0x7f020014;
169 | public static final int abs__btn_cab_done_focused_holo_light = 0x7f020015;
170 | public static final int abs__btn_cab_done_holo_dark = 0x7f020016;
171 | public static final int abs__btn_cab_done_holo_light = 0x7f020017;
172 | public static final int abs__btn_cab_done_pressed_holo_dark = 0x7f020018;
173 | public static final int abs__btn_cab_done_pressed_holo_light = 0x7f020019;
174 | public static final int abs__cab_background_bottom_holo_dark = 0x7f02001a;
175 | public static final int abs__cab_background_bottom_holo_light = 0x7f02001b;
176 | public static final int abs__cab_background_top_holo_dark = 0x7f02001c;
177 | public static final int abs__cab_background_top_holo_light = 0x7f02001d;
178 | public static final int abs__ic_ab_back_holo_dark = 0x7f02001e;
179 | public static final int abs__ic_ab_back_holo_light = 0x7f02001f;
180 | public static final int abs__ic_cab_done_holo_dark = 0x7f020020;
181 | public static final int abs__ic_cab_done_holo_light = 0x7f020021;
182 | public static final int abs__ic_clear = 0x7f020022;
183 | public static final int abs__ic_clear_disabled = 0x7f020023;
184 | public static final int abs__ic_clear_holo_light = 0x7f020024;
185 | public static final int abs__ic_clear_normal = 0x7f020025;
186 | public static final int abs__ic_clear_search_api_disabled_holo_light = 0x7f020026;
187 | public static final int abs__ic_clear_search_api_holo_light = 0x7f020027;
188 | public static final int abs__ic_commit_search_api_holo_dark = 0x7f020028;
189 | public static final int abs__ic_commit_search_api_holo_light = 0x7f020029;
190 | public static final int abs__ic_go = 0x7f02002a;
191 | public static final int abs__ic_go_search_api_holo_light = 0x7f02002b;
192 | public static final int abs__ic_menu_moreoverflow_holo_dark = 0x7f02002c;
193 | public static final int abs__ic_menu_moreoverflow_holo_light = 0x7f02002d;
194 | public static final int abs__ic_menu_moreoverflow_normal_holo_dark = 0x7f02002e;
195 | public static final int abs__ic_menu_moreoverflow_normal_holo_light = 0x7f02002f;
196 | public static final int abs__ic_menu_share_holo_dark = 0x7f020030;
197 | public static final int abs__ic_menu_share_holo_light = 0x7f020031;
198 | public static final int abs__ic_search = 0x7f020032;
199 | public static final int abs__ic_search_api_holo_light = 0x7f020033;
200 | public static final int abs__ic_voice_search = 0x7f020034;
201 | public static final int abs__ic_voice_search_api_holo_light = 0x7f020035;
202 | public static final int abs__item_background_holo_dark = 0x7f020036;
203 | public static final int abs__item_background_holo_light = 0x7f020037;
204 | public static final int abs__list_activated_holo = 0x7f020038;
205 | public static final int abs__list_divider_holo_dark = 0x7f020039;
206 | public static final int abs__list_divider_holo_light = 0x7f02003a;
207 | public static final int abs__list_focused_holo = 0x7f02003b;
208 | public static final int abs__list_longpressed_holo = 0x7f02003c;
209 | public static final int abs__list_pressed_holo_dark = 0x7f02003d;
210 | public static final int abs__list_pressed_holo_light = 0x7f02003e;
211 | public static final int abs__list_selector_background_transition_holo_dark = 0x7f02003f;
212 | public static final int abs__list_selector_background_transition_holo_light = 0x7f020040;
213 | public static final int abs__list_selector_disabled_holo_dark = 0x7f020041;
214 | public static final int abs__list_selector_disabled_holo_light = 0x7f020042;
215 | public static final int abs__list_selector_holo_dark = 0x7f020043;
216 | public static final int abs__list_selector_holo_light = 0x7f020044;
217 | public static final int abs__menu_dropdown_panel_holo_dark = 0x7f020045;
218 | public static final int abs__menu_dropdown_panel_holo_light = 0x7f020046;
219 | public static final int abs__progress_bg_holo_dark = 0x7f020047;
220 | public static final int abs__progress_bg_holo_light = 0x7f020048;
221 | public static final int abs__progress_horizontal_holo_dark = 0x7f020049;
222 | public static final int abs__progress_horizontal_holo_light = 0x7f02004a;
223 | public static final int abs__progress_medium_holo = 0x7f02004b;
224 | public static final int abs__progress_primary_holo_dark = 0x7f02004c;
225 | public static final int abs__progress_primary_holo_light = 0x7f02004d;
226 | public static final int abs__progress_secondary_holo_dark = 0x7f02004e;
227 | public static final int abs__progress_secondary_holo_light = 0x7f02004f;
228 | public static final int abs__search_dropdown_dark = 0x7f020050;
229 | public static final int abs__search_dropdown_light = 0x7f020051;
230 | public static final int abs__spinner_48_inner_holo = 0x7f020052;
231 | public static final int abs__spinner_48_outer_holo = 0x7f020053;
232 | public static final int abs__spinner_ab_default_holo_dark = 0x7f020054;
233 | public static final int abs__spinner_ab_default_holo_light = 0x7f020055;
234 | public static final int abs__spinner_ab_disabled_holo_dark = 0x7f020056;
235 | public static final int abs__spinner_ab_disabled_holo_light = 0x7f020057;
236 | public static final int abs__spinner_ab_focused_holo_dark = 0x7f020058;
237 | public static final int abs__spinner_ab_focused_holo_light = 0x7f020059;
238 | public static final int abs__spinner_ab_holo_dark = 0x7f02005a;
239 | public static final int abs__spinner_ab_holo_light = 0x7f02005b;
240 | public static final int abs__spinner_ab_pressed_holo_dark = 0x7f02005c;
241 | public static final int abs__spinner_ab_pressed_holo_light = 0x7f02005d;
242 | public static final int abs__tab_indicator_ab_holo = 0x7f02005e;
243 | public static final int abs__tab_selected_focused_holo = 0x7f02005f;
244 | public static final int abs__tab_selected_holo = 0x7f020060;
245 | public static final int abs__tab_selected_pressed_holo = 0x7f020061;
246 | public static final int abs__tab_unselected_pressed_holo = 0x7f020062;
247 | public static final int abs__textfield_search_default_holo_dark = 0x7f020063;
248 | public static final int abs__textfield_search_default_holo_light = 0x7f020064;
249 | public static final int abs__textfield_search_right_default_holo_dark = 0x7f020065;
250 | public static final int abs__textfield_search_right_default_holo_light = 0x7f020066;
251 | public static final int abs__textfield_search_right_selected_holo_dark = 0x7f020067;
252 | public static final int abs__textfield_search_right_selected_holo_light = 0x7f020068;
253 | public static final int abs__textfield_search_selected_holo_dark = 0x7f020069;
254 | public static final int abs__textfield_search_selected_holo_light = 0x7f02006a;
255 | public static final int abs__textfield_searchview_holo_dark = 0x7f02006b;
256 | public static final int abs__textfield_searchview_holo_light = 0x7f02006c;
257 | public static final int abs__textfield_searchview_right_holo_dark = 0x7f02006d;
258 | public static final int abs__textfield_searchview_right_holo_light = 0x7f02006e;
259 | public static final int abs__toast_frame = 0x7f02006f;
260 | }
261 | public static final class id {
262 | public static final int abs__action_bar = 0x7f040020;
263 | public static final int abs__action_bar_container = 0x7f04001f;
264 | public static final int abs__action_bar_subtitle = 0x7f040011;
265 | public static final int abs__action_bar_title = 0x7f040010;
266 | public static final int abs__action_context_bar = 0x7f040021;
267 | public static final int abs__action_menu_divider = 0x7f04000c;
268 | public static final int abs__action_menu_presenter = 0x7f04000d;
269 | public static final int abs__action_mode_bar = 0x7f040025;
270 | public static final int abs__action_mode_bar_stub = 0x7f040024;
271 | public static final int abs__action_mode_close_button = 0x7f040014;
272 | public static final int abs__activity_chooser_view_content = 0x7f040015;
273 | public static final int abs__checkbox = 0x7f04001c;
274 | public static final int abs__content = 0x7f040022;
275 | public static final int abs__default_activity_button = 0x7f040018;
276 | public static final int abs__expand_activities_button = 0x7f040016;
277 | public static final int abs__home = 0x7f04000a;
278 | public static final int abs__icon = 0x7f04001a;
279 | public static final int abs__image = 0x7f040017;
280 | public static final int abs__imageButton = 0x7f040012;
281 | public static final int abs__list_item = 0x7f040019;
282 | public static final int abs__progress_circular = 0x7f04000e;
283 | public static final int abs__progress_horizontal = 0x7f04000f;
284 | public static final int abs__radio = 0x7f04001d;
285 | public static final int abs__search_badge = 0x7f040028;
286 | public static final int abs__search_bar = 0x7f040027;
287 | public static final int abs__search_button = 0x7f040029;
288 | public static final int abs__search_close_btn = 0x7f04002e;
289 | public static final int abs__search_edit_frame = 0x7f04002a;
290 | public static final int abs__search_go_btn = 0x7f040030;
291 | public static final int abs__search_mag_icon = 0x7f04002b;
292 | public static final int abs__search_plate = 0x7f04002c;
293 | public static final int abs__search_src_text = 0x7f04002d;
294 | public static final int abs__search_voice_btn = 0x7f040031;
295 | public static final int abs__shortcut = 0x7f04001e;
296 | public static final int abs__split_action_bar = 0x7f040023;
297 | public static final int abs__submit_area = 0x7f04002f;
298 | public static final int abs__textButton = 0x7f040013;
299 | public static final int abs__title = 0x7f04001b;
300 | public static final int abs__up = 0x7f04000b;
301 | public static final int disableHome = 0x7f040009;
302 | public static final int edit_query = 0x7f040026;
303 | public static final int homeAsUp = 0x7f040006;
304 | public static final int listMode = 0x7f040002;
305 | public static final int normal = 0x7f040001;
306 | public static final int showCustom = 0x7f040008;
307 | public static final int showHome = 0x7f040005;
308 | public static final int showTitle = 0x7f040007;
309 | public static final int tabMode = 0x7f040003;
310 | public static final int useLogo = 0x7f040004;
311 | public static final int wrap_content = 0x7f040000;
312 | }
313 | public static final class integer {
314 | public static final int abs__max_action_buttons = 0x7f080000;
315 | }
316 | public static final class layout {
317 | public static final int abs__action_bar_home = 0x7f030000;
318 | public static final int abs__action_bar_tab = 0x7f030001;
319 | public static final int abs__action_bar_tab_bar_view = 0x7f030002;
320 | public static final int abs__action_bar_title_item = 0x7f030003;
321 | public static final int abs__action_menu_item_layout = 0x7f030004;
322 | public static final int abs__action_menu_layout = 0x7f030005;
323 | public static final int abs__action_mode_bar = 0x7f030006;
324 | public static final int abs__action_mode_close_item = 0x7f030007;
325 | public static final int abs__activity_chooser_view = 0x7f030008;
326 | public static final int abs__activity_chooser_view_list_item = 0x7f030009;
327 | public static final int abs__list_menu_item_checkbox = 0x7f03000a;
328 | public static final int abs__list_menu_item_icon = 0x7f03000b;
329 | public static final int abs__list_menu_item_radio = 0x7f03000c;
330 | public static final int abs__popup_menu_item_layout = 0x7f03000d;
331 | public static final int abs__screen_action_bar = 0x7f03000e;
332 | public static final int abs__screen_action_bar_overlay = 0x7f03000f;
333 | public static final int abs__screen_simple = 0x7f030010;
334 | public static final int abs__screen_simple_overlay_action_mode = 0x7f030011;
335 | public static final int abs__search_dropdown_item_icons_2line = 0x7f030012;
336 | public static final int abs__search_view = 0x7f030013;
337 | public static final int abs__simple_dropdown_hint = 0x7f030014;
338 | public static final int sherlock_spinner_dropdown_item = 0x7f03001a;
339 | public static final int sherlock_spinner_item = 0x7f03001b;
340 | }
341 | public static final class string {
342 | public static final int abs__action_bar_home_description = 0x7f090000;
343 | public static final int abs__action_bar_up_description = 0x7f090001;
344 | public static final int abs__action_menu_overflow_description = 0x7f090002;
345 | public static final int abs__action_mode_done = 0x7f090003;
346 | public static final int abs__activity_chooser_view_see_all = 0x7f090004;
347 | public static final int abs__activitychooserview_choose_application = 0x7f090005;
348 | public static final int abs__searchview_description_clear = 0x7f09000a;
349 | public static final int abs__searchview_description_query = 0x7f090009;
350 | public static final int abs__searchview_description_search = 0x7f090008;
351 | public static final int abs__searchview_description_submit = 0x7f09000b;
352 | public static final int abs__searchview_description_voice = 0x7f09000c;
353 | public static final int abs__shareactionprovider_share_with = 0x7f090006;
354 | public static final int abs__shareactionprovider_share_with_application = 0x7f090007;
355 | }
356 | public static final class style {
357 | public static final int Sherlock___TextAppearance_Small = 0x7f0a0046;
358 | public static final int Sherlock___Theme = 0x7f0a0051;
359 | public static final int Sherlock___Theme_DarkActionBar = 0x7f0a0053;
360 | public static final int Sherlock___Theme_Light = 0x7f0a0052;
361 | public static final int Sherlock___Widget_ActionBar = 0x7f0a0001;
362 | public static final int Sherlock___Widget_ActionMode = 0x7f0a0016;
363 | public static final int Sherlock___Widget_ActivityChooserView = 0x7f0a001e;
364 | public static final int Sherlock___Widget_Holo_DropDownItem = 0x7f0a0029;
365 | public static final int Sherlock___Widget_Holo_ListView = 0x7f0a0026;
366 | public static final int Sherlock___Widget_Holo_Spinner = 0x7f0a0023;
367 | public static final int Sherlock___Widget_SearchAutoCompleteTextView = 0x7f0a0033;
368 | public static final int TextAppearance_Sherlock = 0x7f0a004a;
369 | public static final int TextAppearance_Sherlock_Light_SearchResult = 0x7f0a004e;
370 | public static final int TextAppearance_Sherlock_Light_SearchResult_Subtitle = 0x7f0a0050;
371 | public static final int TextAppearance_Sherlock_Light_SearchResult_Title = 0x7f0a004f;
372 | public static final int TextAppearance_Sherlock_Light_Small = 0x7f0a0048;
373 | public static final int TextAppearance_Sherlock_Light_Widget_PopupMenu_Large = 0x7f0a0041;
374 | public static final int TextAppearance_Sherlock_Light_Widget_PopupMenu_Small = 0x7f0a0043;
375 | public static final int TextAppearance_Sherlock_SearchResult = 0x7f0a004b;
376 | public static final int TextAppearance_Sherlock_SearchResult_Subtitle = 0x7f0a004d;
377 | public static final int TextAppearance_Sherlock_SearchResult_Title = 0x7f0a004c;
378 | public static final int TextAppearance_Sherlock_Small = 0x7f0a0047;
379 | public static final int TextAppearance_Sherlock_Widget_ActionBar_Menu = 0x7f0a0036;
380 | public static final int TextAppearance_Sherlock_Widget_ActionBar_Subtitle = 0x7f0a0039;
381 | public static final int TextAppearance_Sherlock_Widget_ActionBar_Subtitle_Inverse = 0x7f0a003a;
382 | public static final int TextAppearance_Sherlock_Widget_ActionBar_Title = 0x7f0a0037;
383 | public static final int TextAppearance_Sherlock_Widget_ActionBar_Title_Inverse = 0x7f0a0038;
384 | public static final int TextAppearance_Sherlock_Widget_ActionMode_Subtitle = 0x7f0a003d;
385 | public static final int TextAppearance_Sherlock_Widget_ActionMode_Subtitle_Inverse = 0x7f0a003e;
386 | public static final int TextAppearance_Sherlock_Widget_ActionMode_Title = 0x7f0a003b;
387 | public static final int TextAppearance_Sherlock_Widget_ActionMode_Title_Inverse = 0x7f0a003c;
388 | public static final int TextAppearance_Sherlock_Widget_DropDownHint = 0x7f0a0049;
389 | public static final int TextAppearance_Sherlock_Widget_DropDownItem = 0x7f0a0045;
390 | public static final int TextAppearance_Sherlock_Widget_PopupMenu = 0x7f0a003f;
391 | public static final int TextAppearance_Sherlock_Widget_PopupMenu_Large = 0x7f0a0040;
392 | public static final int TextAppearance_Sherlock_Widget_PopupMenu_Small = 0x7f0a0042;
393 | public static final int TextAppearance_Sherlock_Widget_TextView_SpinnerItem = 0x7f0a0044;
394 | public static final int Theme_Sherlock = 0x7f0a0054;
395 | public static final int Theme_Sherlock_Light = 0x7f0a0055;
396 | public static final int Theme_Sherlock_Light_DarkActionBar = 0x7f0a0056;
397 | public static final int Theme_Sherlock_Light_NoActionBar = 0x7f0a0058;
398 | public static final int Theme_Sherlock_NoActionBar = 0x7f0a0057;
399 | public static final int Widget = 0x7f0a0000;
400 | public static final int Widget_Sherlock_ActionBar = 0x7f0a0002;
401 | public static final int Widget_Sherlock_ActionBar_Solid = 0x7f0a0003;
402 | public static final int Widget_Sherlock_ActionBar_TabBar = 0x7f0a000a;
403 | public static final int Widget_Sherlock_ActionBar_TabText = 0x7f0a000d;
404 | public static final int Widget_Sherlock_ActionBar_TabView = 0x7f0a0007;
405 | public static final int Widget_Sherlock_ActionButton = 0x7f0a0010;
406 | public static final int Widget_Sherlock_ActionButton_CloseMode = 0x7f0a0012;
407 | public static final int Widget_Sherlock_ActionButton_Overflow = 0x7f0a0014;
408 | public static final int Widget_Sherlock_ActionMode = 0x7f0a0017;
409 | public static final int Widget_Sherlock_ActivityChooserView = 0x7f0a001f;
410 | public static final int Widget_Sherlock_Button_Small = 0x7f0a0021;
411 | public static final int Widget_Sherlock_DropDownItem_Spinner = 0x7f0a002a;
412 | public static final int Widget_Sherlock_Light_ActionBar = 0x7f0a0004;
413 | public static final int Widget_Sherlock_Light_ActionBar_Solid = 0x7f0a0005;
414 | public static final int Widget_Sherlock_Light_ActionBar_Solid_Inverse = 0x7f0a0006;
415 | public static final int Widget_Sherlock_Light_ActionBar_TabBar = 0x7f0a000b;
416 | public static final int Widget_Sherlock_Light_ActionBar_TabBar_Inverse = 0x7f0a000c;
417 | public static final int Widget_Sherlock_Light_ActionBar_TabText = 0x7f0a000e;
418 | public static final int Widget_Sherlock_Light_ActionBar_TabText_Inverse = 0x7f0a000f;
419 | public static final int Widget_Sherlock_Light_ActionBar_TabView = 0x7f0a0008;
420 | public static final int Widget_Sherlock_Light_ActionBar_TabView_Inverse = 0x7f0a0009;
421 | public static final int Widget_Sherlock_Light_ActionButton = 0x7f0a0011;
422 | public static final int Widget_Sherlock_Light_ActionButton_CloseMode = 0x7f0a0013;
423 | public static final int Widget_Sherlock_Light_ActionButton_Overflow = 0x7f0a0015;
424 | public static final int Widget_Sherlock_Light_ActionMode = 0x7f0a0018;
425 | public static final int Widget_Sherlock_Light_ActionMode_Inverse = 0x7f0a0019;
426 | public static final int Widget_Sherlock_Light_ActivityChooserView = 0x7f0a0020;
427 | public static final int Widget_Sherlock_Light_Button_Small = 0x7f0a0022;
428 | public static final int Widget_Sherlock_Light_DropDownItem_Spinner = 0x7f0a002b;
429 | public static final int Widget_Sherlock_Light_ListPopupWindow = 0x7f0a001b;
430 | public static final int Widget_Sherlock_Light_ListView_DropDown = 0x7f0a0028;
431 | public static final int Widget_Sherlock_Light_PopupMenu = 0x7f0a001d;
432 | public static final int Widget_Sherlock_Light_PopupWindow_ActionMode = 0x7f0a002d;
433 | public static final int Widget_Sherlock_Light_ProgressBar = 0x7f0a002f;
434 | public static final int Widget_Sherlock_Light_ProgressBar_Horizontal = 0x7f0a0031;
435 | public static final int Widget_Sherlock_Light_SearchAutoCompleteTextView = 0x7f0a0035;
436 | public static final int Widget_Sherlock_Light_Spinner_DropDown_ActionBar = 0x7f0a0025;
437 | public static final int Widget_Sherlock_ListPopupWindow = 0x7f0a001a;
438 | public static final int Widget_Sherlock_ListView_DropDown = 0x7f0a0027;
439 | public static final int Widget_Sherlock_PopupMenu = 0x7f0a001c;
440 | public static final int Widget_Sherlock_PopupWindow_ActionMode = 0x7f0a002c;
441 | public static final int Widget_Sherlock_ProgressBar = 0x7f0a002e;
442 | public static final int Widget_Sherlock_ProgressBar_Horizontal = 0x7f0a0030;
443 | public static final int Widget_Sherlock_SearchAutoCompleteTextView = 0x7f0a0034;
444 | public static final int Widget_Sherlock_Spinner_DropDown_ActionBar = 0x7f0a0024;
445 | public static final int Widget_Sherlock_TextView_SpinnerItem = 0x7f0a0032;
446 | }
447 | public static final class styleable {
448 | public static final int[] SherlockActionBar = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010049, 0x7f01004a, 0x7f01004b, 0x7f01004c, 0x7f01004d, 0x7f01004e, 0x7f01004f, 0x7f010050, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054, 0x7f010055 };
449 | public static final int SherlockActionBar_background = 2;
450 | public static final int SherlockActionBar_backgroundSplit = 3;
451 | public static final int SherlockActionBar_backgroundStacked = 12;
452 | public static final int SherlockActionBar_customNavigationLayout = 13;
453 | public static final int SherlockActionBar_displayOptions = 7;
454 | public static final int SherlockActionBar_divider = 5;
455 | public static final int SherlockActionBar_height = 4;
456 | public static final int SherlockActionBar_homeLayout = 14;
457 | public static final int SherlockActionBar_icon = 10;
458 | public static final int SherlockActionBar_indeterminateProgressStyle = 16;
459 | public static final int SherlockActionBar_itemPadding = 18;
460 | public static final int SherlockActionBar_logo = 11;
461 | public static final int SherlockActionBar_navigationMode = 6;
462 | public static final int SherlockActionBar_progressBarPadding = 17;
463 | public static final int SherlockActionBar_progressBarStyle = 15;
464 | public static final int SherlockActionBar_subtitle = 9;
465 | public static final int SherlockActionBar_subtitleTextStyle = 1;
466 | public static final int SherlockActionBar_title = 8;
467 | public static final int SherlockActionBar_titleTextStyle = 0;
468 | public static final int[] SherlockActionMenuItemView = { 0x0101013f };
469 | public static final int SherlockActionMenuItemView_android_minWidth = 0;
470 | public static final int[] SherlockActionMode = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004 };
471 | public static final int SherlockActionMode_background = 2;
472 | public static final int SherlockActionMode_backgroundSplit = 3;
473 | public static final int SherlockActionMode_height = 4;
474 | public static final int SherlockActionMode_subtitleTextStyle = 1;
475 | public static final int SherlockActionMode_titleTextStyle = 0;
476 | public static final int[] SherlockActivityChooserView = { 0x010100d4, 0x7f01005e, 0x7f01005f };
477 | public static final int SherlockActivityChooserView_android_background = 0;
478 | public static final int SherlockActivityChooserView_expandActivityOverflowButtonDrawable = 2;
479 | public static final int SherlockActivityChooserView_initialActivityCount = 1;
480 | public static final int[] SherlockMenuGroup = { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 };
481 | public static final int SherlockMenuGroup_android_checkableBehavior = 5;
482 | public static final int SherlockMenuGroup_android_enabled = 0;
483 | public static final int SherlockMenuGroup_android_id = 1;
484 | public static final int SherlockMenuGroup_android_menuCategory = 3;
485 | public static final int SherlockMenuGroup_android_orderInCategory = 4;
486 | public static final int SherlockMenuGroup_android_visible = 2;
487 | public static final int[] SherlockMenuItem = { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x010102d9, 0x010102fb, 0x010102fc, 0x01010389 };
488 | public static final int SherlockMenuItem_android_actionLayout = 14;
489 | public static final int SherlockMenuItem_android_actionProviderClass = 16;
490 | public static final int SherlockMenuItem_android_actionViewClass = 15;
491 | public static final int SherlockMenuItem_android_alphabeticShortcut = 9;
492 | public static final int SherlockMenuItem_android_checkable = 11;
493 | public static final int SherlockMenuItem_android_checked = 3;
494 | public static final int SherlockMenuItem_android_enabled = 1;
495 | public static final int SherlockMenuItem_android_icon = 0;
496 | public static final int SherlockMenuItem_android_id = 2;
497 | public static final int SherlockMenuItem_android_menuCategory = 5;
498 | public static final int SherlockMenuItem_android_numericShortcut = 10;
499 | public static final int SherlockMenuItem_android_onClick = 12;
500 | public static final int SherlockMenuItem_android_orderInCategory = 6;
501 | public static final int SherlockMenuItem_android_showAsAction = 13;
502 | public static final int SherlockMenuItem_android_title = 7;
503 | public static final int SherlockMenuItem_android_titleCondensed = 8;
504 | public static final int SherlockMenuItem_android_visible = 4;
505 | public static final int[] SherlockMenuView = { 0x7f010056, 0x7f010057, 0x7f010058, 0x7f010059, 0x7f01005a, 0x7f01005b, 0x7f01005c, 0x7f01005d };
506 | public static final int SherlockMenuView_headerBackground = 3;
507 | public static final int SherlockMenuView_horizontalDivider = 1;
508 | public static final int SherlockMenuView_itemBackground = 4;
509 | public static final int SherlockMenuView_itemIconDisabledAlpha = 6;
510 | public static final int SherlockMenuView_itemTextAppearance = 0;
511 | public static final int SherlockMenuView_preserveIconSpacing = 7;
512 | public static final int SherlockMenuView_verticalDivider = 2;
513 | public static final int SherlockMenuView_windowAnimationStyle = 5;
514 | public static final int[] SherlockSearchView = { 0x0101011f, 0x01010220, 0x01010264, 0x7f010060, 0x7f010061 };
515 | public static final int SherlockSearchView_android_imeOptions = 2;
516 | public static final int SherlockSearchView_android_inputType = 1;
517 | public static final int SherlockSearchView_android_maxWidth = 0;
518 | public static final int SherlockSearchView_iconifiedByDefault = 3;
519 | public static final int SherlockSearchView_queryHint = 4;
520 | public static final int[] SherlockSpinner = { 0x010100af, 0x01010175, 0x01010176, 0x0101017b, 0x01010262, 0x010102ac, 0x010102ad, 0x01010411 };
521 | public static final int SherlockSpinner_android_dropDownHorizontalOffset = 5;
522 | public static final int SherlockSpinner_android_dropDownSelector = 1;
523 | public static final int SherlockSpinner_android_dropDownVerticalOffset = 6;
524 | public static final int SherlockSpinner_android_dropDownWidth = 4;
525 | public static final int SherlockSpinner_android_gravity = 0;
526 | public static final int SherlockSpinner_android_popupBackground = 2;
527 | public static final int SherlockSpinner_android_popupPromptView = 7;
528 | public static final int SherlockSpinner_android_prompt = 3;
529 | public static final int[] SherlockTheme = { 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c, 0x7f01001d, 0x7f01001e, 0x7f01001f, 0x7f010020, 0x7f010021, 0x7f010022, 0x7f010023, 0x7f010024, 0x7f010025, 0x7f010026, 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e, 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037, 0x7f010038, 0x7f010039, 0x7f01003a, 0x7f01003b, 0x7f01003c, 0x7f01003d, 0x7f01003e, 0x7f01003f, 0x7f010040, 0x7f010041, 0x7f010042, 0x7f010043, 0x7f010044, 0x7f010045, 0x7f010046, 0x7f010047, 0x7f010048 };
530 | public static final int SherlockTheme_actionBarDivider = 8;
531 | public static final int SherlockTheme_actionBarItemBackground = 9;
532 | public static final int SherlockTheme_actionBarSize = 7;
533 | public static final int SherlockTheme_actionBarSplitStyle = 5;
534 | public static final int SherlockTheme_actionBarStyle = 4;
535 | public static final int SherlockTheme_actionBarTabBarStyle = 1;
536 | public static final int SherlockTheme_actionBarTabStyle = 0;
537 | public static final int SherlockTheme_actionBarTabTextStyle = 2;
538 | public static final int SherlockTheme_actionBarWidgetTheme = 6;
539 | public static final int SherlockTheme_actionButtonStyle = 52;
540 | public static final int SherlockTheme_actionDropDownStyle = 51;
541 | public static final int SherlockTheme_actionMenuTextAppearance = 10;
542 | public static final int SherlockTheme_actionMenuTextColor = 11;
543 | public static final int SherlockTheme_actionModeBackground = 14;
544 | public static final int SherlockTheme_actionModeCloseButtonStyle = 13;
545 | public static final int SherlockTheme_actionModeCloseDrawable = 16;
546 | public static final int SherlockTheme_actionModePopupWindowStyle = 18;
547 | public static final int SherlockTheme_actionModeShareDrawable = 17;
548 | public static final int SherlockTheme_actionModeSplitBackground = 15;
549 | public static final int SherlockTheme_actionModeStyle = 12;
550 | public static final int SherlockTheme_actionOverflowButtonStyle = 3;
551 | public static final int SherlockTheme_actionSpinnerItemStyle = 57;
552 | public static final int SherlockTheme_activatedBackgroundIndicator = 65;
553 | public static final int SherlockTheme_activityChooserViewStyle = 64;
554 | public static final int SherlockTheme_buttonStyleSmall = 19;
555 | public static final int SherlockTheme_dividerVertical = 50;
556 | public static final int SherlockTheme_dropDownHintAppearance = 66;
557 | public static final int SherlockTheme_dropDownListViewStyle = 54;
558 | public static final int SherlockTheme_dropdownListPreferredItemHeight = 56;
559 | public static final int SherlockTheme_homeAsUpIndicator = 53;
560 | public static final int SherlockTheme_listPopupWindowStyle = 63;
561 | public static final int SherlockTheme_listPreferredItemHeightSmall = 44;
562 | public static final int SherlockTheme_listPreferredItemPaddingLeft = 45;
563 | public static final int SherlockTheme_listPreferredItemPaddingRight = 46;
564 | public static final int SherlockTheme_popupMenuStyle = 55;
565 | public static final int SherlockTheme_searchAutoCompleteTextView = 30;
566 | public static final int SherlockTheme_searchDropdownBackground = 31;
567 | public static final int SherlockTheme_searchResultListItemHeight = 41;
568 | public static final int SherlockTheme_searchViewCloseIcon = 32;
569 | public static final int SherlockTheme_searchViewEditQuery = 36;
570 | public static final int SherlockTheme_searchViewEditQueryBackground = 37;
571 | public static final int SherlockTheme_searchViewGoIcon = 33;
572 | public static final int SherlockTheme_searchViewSearchIcon = 34;
573 | public static final int SherlockTheme_searchViewTextField = 38;
574 | public static final int SherlockTheme_searchViewTextFieldRight = 39;
575 | public static final int SherlockTheme_searchViewVoiceIcon = 35;
576 | public static final int SherlockTheme_selectableItemBackground = 20;
577 | public static final int SherlockTheme_spinnerDropDownItemStyle = 29;
578 | public static final int SherlockTheme_spinnerItemStyle = 28;
579 | public static final int SherlockTheme_textAppearanceLargePopupMenu = 22;
580 | public static final int SherlockTheme_textAppearanceListItemSmall = 47;
581 | public static final int SherlockTheme_textAppearanceSearchResultSubtitle = 43;
582 | public static final int SherlockTheme_textAppearanceSearchResultTitle = 42;
583 | public static final int SherlockTheme_textAppearanceSmall = 24;
584 | public static final int SherlockTheme_textAppearanceSmallPopupMenu = 23;
585 | public static final int SherlockTheme_textColorPrimary = 25;
586 | public static final int SherlockTheme_textColorPrimaryDisableOnly = 26;
587 | public static final int SherlockTheme_textColorPrimaryInverse = 27;
588 | public static final int SherlockTheme_textColorSearchUrl = 40;
589 | public static final int SherlockTheme_windowActionBar = 59;
590 | public static final int SherlockTheme_windowActionBarOverlay = 60;
591 | public static final int SherlockTheme_windowActionModeOverlay = 61;
592 | public static final int SherlockTheme_windowContentOverlay = 21;
593 | public static final int SherlockTheme_windowMinWidthMajor = 48;
594 | public static final int SherlockTheme_windowMinWidthMinor = 49;
595 | public static final int SherlockTheme_windowNoTitle = 58;
596 | public static final int SherlockTheme_windowSplitActionBar = 62;
597 | public static final int[] SherlockView = { 0x010100da };
598 | public static final int SherlockView_android_focusable = 0;
599 | }
600 | }
601 |
--------------------------------------------------------------------------------
/example/gen/com/mapsaurus/panelayout/R.java:
--------------------------------------------------------------------------------
1 | /* AUTO-GENERATED FILE. DO NOT MODIFY.
2 | *
3 | * This class was automatically generated by the
4 | * aapt tool from the resource data it found. It
5 | * should not be modified by hand.
6 | */
7 | package com.mapsaurus.panelayout;
8 |
9 | public final class R {
10 | public static final class attr {
11 | public static final int actionBarDivider = 0x7f01000e;
12 | public static final int actionBarItemBackground = 0x7f01000f;
13 | public static final int actionBarSize = 0x7f01000d;
14 | public static final int actionBarSplitStyle = 0x7f01000b;
15 | public static final int actionBarStyle = 0x7f01000a;
16 | public static final int actionBarTabBarStyle = 0x7f010007;
17 | public static final int actionBarTabStyle = 0x7f010006;
18 | public static final int actionBarTabTextStyle = 0x7f010008;
19 | public static final int actionBarWidgetTheme = 0x7f01000c;
20 | public static final int actionButtonStyle = 0x7f01003a;
21 | public static final int actionDropDownStyle = 0x7f010039;
22 | public static final int actionMenuTextAppearance = 0x7f010010;
23 | public static final int actionMenuTextColor = 0x7f010011;
24 | public static final int actionModeBackground = 0x7f010014;
25 | public static final int actionModeCloseButtonStyle = 0x7f010013;
26 | public static final int actionModeCloseDrawable = 0x7f010016;
27 | public static final int actionModePopupWindowStyle = 0x7f010018;
28 | public static final int actionModeShareDrawable = 0x7f010017;
29 | public static final int actionModeSplitBackground = 0x7f010015;
30 | public static final int actionModeStyle = 0x7f010012;
31 | public static final int actionOverflowButtonStyle = 0x7f010009;
32 | public static final int actionSpinnerItemStyle = 0x7f01003f;
33 | public static final int activatedBackgroundIndicator = 0x7f010047;
34 | public static final int activityChooserViewStyle = 0x7f010046;
35 | public static final int background = 0x7f010002;
36 | public static final int backgroundSplit = 0x7f010003;
37 | public static final int backgroundStacked = 0x7f01004f;
38 | public static final int buttonStyleSmall = 0x7f010019;
39 | public static final int customNavigationLayout = 0x7f010050;
40 | public static final int displayOptions = 0x7f01004a;
41 | public static final int divider = 0x7f010005;
42 | public static final int dividerVertical = 0x7f010038;
43 | public static final int dropDownHintAppearance = 0x7f010048;
44 | public static final int dropDownListViewStyle = 0x7f01003c;
45 | public static final int dropdownListPreferredItemHeight = 0x7f01003e;
46 | public static final int expandActivityOverflowButtonDrawable = 0x7f01005f;
47 | public static final int headerBackground = 0x7f010059;
48 | public static final int height = 0x7f010004;
49 | public static final int homeAsUpIndicator = 0x7f01003b;
50 | public static final int homeLayout = 0x7f010051;
51 | public static final int horizontalDivider = 0x7f010057;
52 | public static final int icon = 0x7f01004d;
53 | public static final int iconifiedByDefault = 0x7f010060;
54 | public static final int indeterminateProgressStyle = 0x7f010053;
55 | public static final int initialActivityCount = 0x7f01005e;
56 | public static final int itemBackground = 0x7f01005a;
57 | public static final int itemIconDisabledAlpha = 0x7f01005c;
58 | public static final int itemPadding = 0x7f010055;
59 | public static final int itemTextAppearance = 0x7f010056;
60 | public static final int listPopupWindowStyle = 0x7f010045;
61 | public static final int listPreferredItemHeightSmall = 0x7f010032;
62 | public static final int listPreferredItemPaddingLeft = 0x7f010033;
63 | public static final int listPreferredItemPaddingRight = 0x7f010034;
64 | public static final int logo = 0x7f01004e;
65 | public static final int navigationMode = 0x7f010049;
66 | public static final int popupMenuStyle = 0x7f01003d;
67 | public static final int preserveIconSpacing = 0x7f01005d;
68 | public static final int progressBarPadding = 0x7f010054;
69 | public static final int progressBarStyle = 0x7f010052;
70 | public static final int queryHint = 0x7f010061;
71 | public static final int searchAutoCompleteTextView = 0x7f010024;
72 | public static final int searchDropdownBackground = 0x7f010025;
73 | public static final int searchResultListItemHeight = 0x7f01002f;
74 | public static final int searchViewCloseIcon = 0x7f010026;
75 | public static final int searchViewEditQuery = 0x7f01002a;
76 | public static final int searchViewEditQueryBackground = 0x7f01002b;
77 | public static final int searchViewGoIcon = 0x7f010027;
78 | public static final int searchViewSearchIcon = 0x7f010028;
79 | public static final int searchViewTextField = 0x7f01002c;
80 | public static final int searchViewTextFieldRight = 0x7f01002d;
81 | public static final int searchViewVoiceIcon = 0x7f010029;
82 | public static final int selectableItemBackground = 0x7f01001a;
83 | public static final int spinnerDropDownItemStyle = 0x7f010023;
84 | public static final int spinnerItemStyle = 0x7f010022;
85 | public static final int subtitle = 0x7f01004c;
86 | public static final int subtitleTextStyle = 0x7f010001;
87 | public static final int textAppearanceLargePopupMenu = 0x7f01001c;
88 | public static final int textAppearanceListItemSmall = 0x7f010035;
89 | public static final int textAppearanceSearchResultSubtitle = 0x7f010031;
90 | public static final int textAppearanceSearchResultTitle = 0x7f010030;
91 | public static final int textAppearanceSmall = 0x7f01001e;
92 | public static final int textAppearanceSmallPopupMenu = 0x7f01001d;
93 | public static final int textColorPrimary = 0x7f01001f;
94 | public static final int textColorPrimaryDisableOnly = 0x7f010020;
95 | public static final int textColorPrimaryInverse = 0x7f010021;
96 | public static final int textColorSearchUrl = 0x7f01002e;
97 | public static final int title = 0x7f01004b;
98 | public static final int titleTextStyle = 0x7f010000;
99 | public static final int verticalDivider = 0x7f010058;
100 | public static final int windowActionBar = 0x7f010041;
101 | public static final int windowActionBarOverlay = 0x7f010042;
102 | public static final int windowActionModeOverlay = 0x7f010043;
103 | public static final int windowAnimationStyle = 0x7f01005b;
104 | public static final int windowContentOverlay = 0x7f01001b;
105 | public static final int windowMinWidthMajor = 0x7f010036;
106 | public static final int windowMinWidthMinor = 0x7f010037;
107 | public static final int windowNoTitle = 0x7f010040;
108 | public static final int windowSplitActionBar = 0x7f010044;
109 | }
110 | public static final class bool {
111 | public static final int abs__action_bar_embed_tabs = 0x7f050000;
112 | public static final int abs__action_bar_expanded_action_views_exclusive = 0x7f050002;
113 | public static final int abs__config_actionMenuItemAllCaps = 0x7f050004;
114 | public static final int abs__config_allowActionMenuItemTextWithIcon = 0x7f050005;
115 | public static final int abs__config_showMenuShortcutsWhenKeyboardPresent = 0x7f050003;
116 | public static final int abs__split_action_bar_is_narrow = 0x7f050001;
117 | }
118 | public static final class color {
119 | public static final int abs__background_holo_dark = 0x7f060000;
120 | public static final int abs__background_holo_light = 0x7f060001;
121 | public static final int abs__bright_foreground_disabled_holo_dark = 0x7f060004;
122 | public static final int abs__bright_foreground_disabled_holo_light = 0x7f060005;
123 | public static final int abs__bright_foreground_holo_dark = 0x7f060002;
124 | public static final int abs__bright_foreground_holo_light = 0x7f060003;
125 | public static final int abs__primary_text_disable_only_holo_dark = 0x7f060006;
126 | public static final int abs__primary_text_disable_only_holo_light = 0x7f060007;
127 | public static final int abs__primary_text_holo_dark = 0x7f060008;
128 | public static final int abs__primary_text_holo_light = 0x7f060009;
129 | }
130 | public static final class dimen {
131 | public static final int abs__action_bar_default_height = 0x7f070001;
132 | public static final int abs__action_bar_icon_vertical_padding = 0x7f070002;
133 | public static final int abs__action_bar_subtitle_bottom_margin = 0x7f070006;
134 | public static final int abs__action_bar_subtitle_text_size = 0x7f070004;
135 | public static final int abs__action_bar_subtitle_top_margin = 0x7f070005;
136 | public static final int abs__action_bar_title_text_size = 0x7f070003;
137 | public static final int abs__action_button_min_width = 0x7f070007;
138 | public static final int abs__config_prefDialogWidth = 0x7f070000;
139 | public static final int abs__dialog_min_width_major = 0x7f07000d;
140 | public static final int abs__dialog_min_width_minor = 0x7f07000e;
141 | public static final int abs__dropdownitem_icon_width = 0x7f07000a;
142 | public static final int abs__dropdownitem_text_padding_left = 0x7f070008;
143 | public static final int abs__dropdownitem_text_padding_right = 0x7f070009;
144 | public static final int abs__search_view_preferred_width = 0x7f07000c;
145 | public static final int abs__search_view_text_min_width = 0x7f07000b;
146 | public static final int bevel_size = 0x7f07000f;
147 | public static final int menu_offset = 0x7f070011;
148 | public static final int shadow_size = 0x7f070010;
149 | }
150 | public static final class drawable {
151 | public static final int abs__ab_bottom_solid_dark_holo = 0x7f020000;
152 | public static final int abs__ab_bottom_solid_inverse_holo = 0x7f020001;
153 | public static final int abs__ab_bottom_solid_light_holo = 0x7f020002;
154 | public static final int abs__ab_bottom_transparent_dark_holo = 0x7f020003;
155 | public static final int abs__ab_bottom_transparent_light_holo = 0x7f020004;
156 | public static final int abs__ab_share_pack_holo_dark = 0x7f020005;
157 | public static final int abs__ab_share_pack_holo_light = 0x7f020006;
158 | public static final int abs__ab_solid_dark_holo = 0x7f020007;
159 | public static final int abs__ab_solid_light_holo = 0x7f020008;
160 | public static final int abs__ab_solid_shadow_holo = 0x7f020009;
161 | public static final int abs__ab_stacked_solid_dark_holo = 0x7f02000a;
162 | public static final int abs__ab_stacked_solid_light_holo = 0x7f02000b;
163 | public static final int abs__ab_stacked_transparent_dark_holo = 0x7f02000c;
164 | public static final int abs__ab_stacked_transparent_light_holo = 0x7f02000d;
165 | public static final int abs__ab_transparent_dark_holo = 0x7f02000e;
166 | public static final int abs__ab_transparent_light_holo = 0x7f02000f;
167 | public static final int abs__activated_background_holo_dark = 0x7f020010;
168 | public static final int abs__activated_background_holo_light = 0x7f020011;
169 | public static final int abs__btn_cab_done_default_holo_dark = 0x7f020012;
170 | public static final int abs__btn_cab_done_default_holo_light = 0x7f020013;
171 | public static final int abs__btn_cab_done_focused_holo_dark = 0x7f020014;
172 | public static final int abs__btn_cab_done_focused_holo_light = 0x7f020015;
173 | public static final int abs__btn_cab_done_holo_dark = 0x7f020016;
174 | public static final int abs__btn_cab_done_holo_light = 0x7f020017;
175 | public static final int abs__btn_cab_done_pressed_holo_dark = 0x7f020018;
176 | public static final int abs__btn_cab_done_pressed_holo_light = 0x7f020019;
177 | public static final int abs__cab_background_bottom_holo_dark = 0x7f02001a;
178 | public static final int abs__cab_background_bottom_holo_light = 0x7f02001b;
179 | public static final int abs__cab_background_top_holo_dark = 0x7f02001c;
180 | public static final int abs__cab_background_top_holo_light = 0x7f02001d;
181 | public static final int abs__ic_ab_back_holo_dark = 0x7f02001e;
182 | public static final int abs__ic_ab_back_holo_light = 0x7f02001f;
183 | public static final int abs__ic_cab_done_holo_dark = 0x7f020020;
184 | public static final int abs__ic_cab_done_holo_light = 0x7f020021;
185 | public static final int abs__ic_clear = 0x7f020022;
186 | public static final int abs__ic_clear_disabled = 0x7f020023;
187 | public static final int abs__ic_clear_holo_light = 0x7f020024;
188 | public static final int abs__ic_clear_normal = 0x7f020025;
189 | public static final int abs__ic_clear_search_api_disabled_holo_light = 0x7f020026;
190 | public static final int abs__ic_clear_search_api_holo_light = 0x7f020027;
191 | public static final int abs__ic_commit_search_api_holo_dark = 0x7f020028;
192 | public static final int abs__ic_commit_search_api_holo_light = 0x7f020029;
193 | public static final int abs__ic_go = 0x7f02002a;
194 | public static final int abs__ic_go_search_api_holo_light = 0x7f02002b;
195 | public static final int abs__ic_menu_moreoverflow_holo_dark = 0x7f02002c;
196 | public static final int abs__ic_menu_moreoverflow_holo_light = 0x7f02002d;
197 | public static final int abs__ic_menu_moreoverflow_normal_holo_dark = 0x7f02002e;
198 | public static final int abs__ic_menu_moreoverflow_normal_holo_light = 0x7f02002f;
199 | public static final int abs__ic_menu_share_holo_dark = 0x7f020030;
200 | public static final int abs__ic_menu_share_holo_light = 0x7f020031;
201 | public static final int abs__ic_search = 0x7f020032;
202 | public static final int abs__ic_search_api_holo_light = 0x7f020033;
203 | public static final int abs__ic_voice_search = 0x7f020034;
204 | public static final int abs__ic_voice_search_api_holo_light = 0x7f020035;
205 | public static final int abs__item_background_holo_dark = 0x7f020036;
206 | public static final int abs__item_background_holo_light = 0x7f020037;
207 | public static final int abs__list_activated_holo = 0x7f020038;
208 | public static final int abs__list_divider_holo_dark = 0x7f020039;
209 | public static final int abs__list_divider_holo_light = 0x7f02003a;
210 | public static final int abs__list_focused_holo = 0x7f02003b;
211 | public static final int abs__list_longpressed_holo = 0x7f02003c;
212 | public static final int abs__list_pressed_holo_dark = 0x7f02003d;
213 | public static final int abs__list_pressed_holo_light = 0x7f02003e;
214 | public static final int abs__list_selector_background_transition_holo_dark = 0x7f02003f;
215 | public static final int abs__list_selector_background_transition_holo_light = 0x7f020040;
216 | public static final int abs__list_selector_disabled_holo_dark = 0x7f020041;
217 | public static final int abs__list_selector_disabled_holo_light = 0x7f020042;
218 | public static final int abs__list_selector_holo_dark = 0x7f020043;
219 | public static final int abs__list_selector_holo_light = 0x7f020044;
220 | public static final int abs__menu_dropdown_panel_holo_dark = 0x7f020045;
221 | public static final int abs__menu_dropdown_panel_holo_light = 0x7f020046;
222 | public static final int abs__progress_bg_holo_dark = 0x7f020047;
223 | public static final int abs__progress_bg_holo_light = 0x7f020048;
224 | public static final int abs__progress_horizontal_holo_dark = 0x7f020049;
225 | public static final int abs__progress_horizontal_holo_light = 0x7f02004a;
226 | public static final int abs__progress_medium_holo = 0x7f02004b;
227 | public static final int abs__progress_primary_holo_dark = 0x7f02004c;
228 | public static final int abs__progress_primary_holo_light = 0x7f02004d;
229 | public static final int abs__progress_secondary_holo_dark = 0x7f02004e;
230 | public static final int abs__progress_secondary_holo_light = 0x7f02004f;
231 | public static final int abs__search_dropdown_dark = 0x7f020050;
232 | public static final int abs__search_dropdown_light = 0x7f020051;
233 | public static final int abs__spinner_48_inner_holo = 0x7f020052;
234 | public static final int abs__spinner_48_outer_holo = 0x7f020053;
235 | public static final int abs__spinner_ab_default_holo_dark = 0x7f020054;
236 | public static final int abs__spinner_ab_default_holo_light = 0x7f020055;
237 | public static final int abs__spinner_ab_disabled_holo_dark = 0x7f020056;
238 | public static final int abs__spinner_ab_disabled_holo_light = 0x7f020057;
239 | public static final int abs__spinner_ab_focused_holo_dark = 0x7f020058;
240 | public static final int abs__spinner_ab_focused_holo_light = 0x7f020059;
241 | public static final int abs__spinner_ab_holo_dark = 0x7f02005a;
242 | public static final int abs__spinner_ab_holo_light = 0x7f02005b;
243 | public static final int abs__spinner_ab_pressed_holo_dark = 0x7f02005c;
244 | public static final int abs__spinner_ab_pressed_holo_light = 0x7f02005d;
245 | public static final int abs__tab_indicator_ab_holo = 0x7f02005e;
246 | public static final int abs__tab_selected_focused_holo = 0x7f02005f;
247 | public static final int abs__tab_selected_holo = 0x7f020060;
248 | public static final int abs__tab_selected_pressed_holo = 0x7f020061;
249 | public static final int abs__tab_unselected_pressed_holo = 0x7f020062;
250 | public static final int abs__textfield_search_default_holo_dark = 0x7f020063;
251 | public static final int abs__textfield_search_default_holo_light = 0x7f020064;
252 | public static final int abs__textfield_search_right_default_holo_dark = 0x7f020065;
253 | public static final int abs__textfield_search_right_default_holo_light = 0x7f020066;
254 | public static final int abs__textfield_search_right_selected_holo_dark = 0x7f020067;
255 | public static final int abs__textfield_search_right_selected_holo_light = 0x7f020068;
256 | public static final int abs__textfield_search_selected_holo_dark = 0x7f020069;
257 | public static final int abs__textfield_search_selected_holo_light = 0x7f02006a;
258 | public static final int abs__textfield_searchview_holo_dark = 0x7f02006b;
259 | public static final int abs__textfield_searchview_holo_light = 0x7f02006c;
260 | public static final int abs__textfield_searchview_right_holo_dark = 0x7f02006d;
261 | public static final int abs__textfield_searchview_right_holo_light = 0x7f02006e;
262 | public static final int abs__toast_frame = 0x7f02006f;
263 | public static final int action_search = 0x7f020070;
264 | public static final int drawer_shadow = 0x7f020071;
265 | public static final int ic_drawer = 0x7f020072;
266 | public static final int ic_launcher = 0x7f020073;
267 | public static final int shadow_left = 0x7f020074;
268 | public static final int shadow_right = 0x7f020075;
269 | }
270 | public static final class id {
271 | public static final int abs__action_bar = 0x7f040020;
272 | public static final int abs__action_bar_container = 0x7f04001f;
273 | public static final int abs__action_bar_subtitle = 0x7f040011;
274 | public static final int abs__action_bar_title = 0x7f040010;
275 | public static final int abs__action_context_bar = 0x7f040021;
276 | public static final int abs__action_menu_divider = 0x7f04000c;
277 | public static final int abs__action_menu_presenter = 0x7f04000d;
278 | public static final int abs__action_mode_bar = 0x7f040025;
279 | public static final int abs__action_mode_bar_stub = 0x7f040024;
280 | public static final int abs__action_mode_close_button = 0x7f040014;
281 | public static final int abs__activity_chooser_view_content = 0x7f040015;
282 | public static final int abs__checkbox = 0x7f04001c;
283 | public static final int abs__content = 0x7f040022;
284 | public static final int abs__default_activity_button = 0x7f040018;
285 | public static final int abs__expand_activities_button = 0x7f040016;
286 | public static final int abs__home = 0x7f04000a;
287 | public static final int abs__icon = 0x7f04001a;
288 | public static final int abs__image = 0x7f040017;
289 | public static final int abs__imageButton = 0x7f040012;
290 | public static final int abs__list_item = 0x7f040019;
291 | public static final int abs__progress_circular = 0x7f04000e;
292 | public static final int abs__progress_horizontal = 0x7f04000f;
293 | public static final int abs__radio = 0x7f04001d;
294 | public static final int abs__search_badge = 0x7f040028;
295 | public static final int abs__search_bar = 0x7f040027;
296 | public static final int abs__search_button = 0x7f040029;
297 | public static final int abs__search_close_btn = 0x7f04002e;
298 | public static final int abs__search_edit_frame = 0x7f04002a;
299 | public static final int abs__search_go_btn = 0x7f040030;
300 | public static final int abs__search_mag_icon = 0x7f04002b;
301 | public static final int abs__search_plate = 0x7f04002c;
302 | public static final int abs__search_src_text = 0x7f04002d;
303 | public static final int abs__search_voice_btn = 0x7f040031;
304 | public static final int abs__shortcut = 0x7f04001e;
305 | public static final int abs__split_action_bar = 0x7f040023;
306 | public static final int abs__submit_area = 0x7f04002f;
307 | public static final int abs__textButton = 0x7f040013;
308 | public static final int abs__title = 0x7f04001b;
309 | public static final int abs__up = 0x7f04000b;
310 | public static final int content_frame = 0x7f040039;
311 | public static final int disableHome = 0x7f040009;
312 | public static final int drawer_layout = 0x7f040038;
313 | public static final int edit_query = 0x7f040026;
314 | public static final int homeAsUp = 0x7f040006;
315 | public static final int listMode = 0x7f040002;
316 | public static final int menu_frame = 0x7f040037;
317 | public static final int menu_settings = 0x7f04003a;
318 | public static final int normal = 0x7f040001;
319 | public static final int panes = 0x7f040032;
320 | public static final int showCustom = 0x7f040008;
321 | public static final int showHome = 0x7f040005;
322 | public static final int showTitle = 0x7f040007;
323 | public static final int tabMode = 0x7f040003;
324 | public static final int useLogo = 0x7f040004;
325 | public static final int wrap_content = 0x7f040000;
326 | }
327 | public static final class integer {
328 | public static final int abs__max_action_buttons = 0x7f080000;
329 | }
330 | public static final class layout {
331 | public static final int abs__action_bar_home = 0x7f030000;
332 | public static final int abs__action_bar_tab = 0x7f030001;
333 | public static final int abs__action_bar_tab_bar_view = 0x7f030002;
334 | public static final int abs__action_bar_title_item = 0x7f030003;
335 | public static final int abs__action_menu_item_layout = 0x7f030004;
336 | public static final int abs__action_menu_layout = 0x7f030005;
337 | public static final int abs__action_mode_bar = 0x7f030006;
338 | public static final int abs__action_mode_close_item = 0x7f030007;
339 | public static final int abs__activity_chooser_view = 0x7f030008;
340 | public static final int abs__activity_chooser_view_list_item = 0x7f030009;
341 | public static final int abs__list_menu_item_checkbox = 0x7f03000a;
342 | public static final int abs__list_menu_item_icon = 0x7f03000b;
343 | public static final int abs__list_menu_item_radio = 0x7f03000c;
344 | public static final int abs__popup_menu_item_layout = 0x7f03000d;
345 | public static final int abs__screen_action_bar = 0x7f03000e;
346 | public static final int abs__screen_action_bar_overlay = 0x7f03000f;
347 | public static final int abs__screen_simple = 0x7f030010;
348 | public static final int abs__screen_simple_overlay_action_mode = 0x7f030011;
349 | public static final int abs__search_dropdown_item_icons_2line = 0x7f030012;
350 | public static final int abs__search_view = 0x7f030013;
351 | public static final int abs__simple_dropdown_hint = 0x7f030014;
352 | public static final int menu_frame = 0x7f030017;
353 | public static final int panes_layout = 0x7f030018;
354 | public static final int phone_layout = 0x7f030019;
355 | public static final int sherlock_spinner_dropdown_item = 0x7f03001a;
356 | public static final int sherlock_spinner_item = 0x7f03001b;
357 | }
358 | public static final class menu {
359 | public static final int activity_pane_layout_example = 0x7f0b0000;
360 | }
361 | public static final class string {
362 | public static final int abs__action_bar_home_description = 0x7f090000;
363 | public static final int abs__action_bar_up_description = 0x7f090001;
364 | public static final int abs__action_menu_overflow_description = 0x7f090002;
365 | public static final int abs__action_mode_done = 0x7f090003;
366 | public static final int abs__activity_chooser_view_see_all = 0x7f090004;
367 | public static final int abs__activitychooserview_choose_application = 0x7f090005;
368 | public static final int abs__searchview_description_clear = 0x7f09000a;
369 | public static final int abs__searchview_description_query = 0x7f090009;
370 | public static final int abs__searchview_description_search = 0x7f090008;
371 | public static final int abs__searchview_description_submit = 0x7f09000b;
372 | public static final int abs__searchview_description_voice = 0x7f09000c;
373 | public static final int abs__shareactionprovider_share_with = 0x7f090006;
374 | public static final int abs__shareactionprovider_share_with_application = 0x7f090007;
375 | public static final int app_name = 0x7f09000d;
376 | public static final int drawer_close = 0x7f090011;
377 | public static final int drawer_open = 0x7f090010;
378 | public static final int hello_world = 0x7f09000f;
379 | public static final int menu_settings = 0x7f09000e;
380 | }
381 | public static final class style {
382 | public static final int AppBaseTheme = 0x7f0a0059;
383 | public static final int AppTheme = 0x7f0a005a;
384 | public static final int Sherlock___TextAppearance_Small = 0x7f0a0046;
385 | public static final int Sherlock___Theme = 0x7f0a0051;
386 | public static final int Sherlock___Theme_DarkActionBar = 0x7f0a0053;
387 | public static final int Sherlock___Theme_Light = 0x7f0a0052;
388 | public static final int Sherlock___Widget_ActionBar = 0x7f0a0001;
389 | public static final int Sherlock___Widget_ActionMode = 0x7f0a0016;
390 | public static final int Sherlock___Widget_ActivityChooserView = 0x7f0a001e;
391 | public static final int Sherlock___Widget_Holo_DropDownItem = 0x7f0a0029;
392 | public static final int Sherlock___Widget_Holo_ListView = 0x7f0a0026;
393 | public static final int Sherlock___Widget_Holo_Spinner = 0x7f0a0023;
394 | public static final int Sherlock___Widget_SearchAutoCompleteTextView = 0x7f0a0033;
395 | public static final int TextAppearance_Sherlock = 0x7f0a004a;
396 | public static final int TextAppearance_Sherlock_Light_SearchResult = 0x7f0a004e;
397 | public static final int TextAppearance_Sherlock_Light_SearchResult_Subtitle = 0x7f0a0050;
398 | public static final int TextAppearance_Sherlock_Light_SearchResult_Title = 0x7f0a004f;
399 | public static final int TextAppearance_Sherlock_Light_Small = 0x7f0a0048;
400 | public static final int TextAppearance_Sherlock_Light_Widget_PopupMenu_Large = 0x7f0a0041;
401 | public static final int TextAppearance_Sherlock_Light_Widget_PopupMenu_Small = 0x7f0a0043;
402 | public static final int TextAppearance_Sherlock_SearchResult = 0x7f0a004b;
403 | public static final int TextAppearance_Sherlock_SearchResult_Subtitle = 0x7f0a004d;
404 | public static final int TextAppearance_Sherlock_SearchResult_Title = 0x7f0a004c;
405 | public static final int TextAppearance_Sherlock_Small = 0x7f0a0047;
406 | public static final int TextAppearance_Sherlock_Widget_ActionBar_Menu = 0x7f0a0036;
407 | public static final int TextAppearance_Sherlock_Widget_ActionBar_Subtitle = 0x7f0a0039;
408 | public static final int TextAppearance_Sherlock_Widget_ActionBar_Subtitle_Inverse = 0x7f0a003a;
409 | public static final int TextAppearance_Sherlock_Widget_ActionBar_Title = 0x7f0a0037;
410 | public static final int TextAppearance_Sherlock_Widget_ActionBar_Title_Inverse = 0x7f0a0038;
411 | public static final int TextAppearance_Sherlock_Widget_ActionMode_Subtitle = 0x7f0a003d;
412 | public static final int TextAppearance_Sherlock_Widget_ActionMode_Subtitle_Inverse = 0x7f0a003e;
413 | public static final int TextAppearance_Sherlock_Widget_ActionMode_Title = 0x7f0a003b;
414 | public static final int TextAppearance_Sherlock_Widget_ActionMode_Title_Inverse = 0x7f0a003c;
415 | public static final int TextAppearance_Sherlock_Widget_DropDownHint = 0x7f0a0049;
416 | public static final int TextAppearance_Sherlock_Widget_DropDownItem = 0x7f0a0045;
417 | public static final int TextAppearance_Sherlock_Widget_PopupMenu = 0x7f0a003f;
418 | public static final int TextAppearance_Sherlock_Widget_PopupMenu_Large = 0x7f0a0040;
419 | public static final int TextAppearance_Sherlock_Widget_PopupMenu_Small = 0x7f0a0042;
420 | public static final int TextAppearance_Sherlock_Widget_TextView_SpinnerItem = 0x7f0a0044;
421 | public static final int Theme_Sherlock = 0x7f0a0054;
422 | public static final int Theme_Sherlock_Light = 0x7f0a0055;
423 | public static final int Theme_Sherlock_Light_DarkActionBar = 0x7f0a0056;
424 | public static final int Theme_Sherlock_Light_NoActionBar = 0x7f0a0058;
425 | public static final int Theme_Sherlock_NoActionBar = 0x7f0a0057;
426 | public static final int Widget = 0x7f0a0000;
427 | public static final int Widget_Sherlock_ActionBar = 0x7f0a0002;
428 | public static final int Widget_Sherlock_ActionBar_Solid = 0x7f0a0003;
429 | public static final int Widget_Sherlock_ActionBar_TabBar = 0x7f0a000a;
430 | public static final int Widget_Sherlock_ActionBar_TabText = 0x7f0a000d;
431 | public static final int Widget_Sherlock_ActionBar_TabView = 0x7f0a0007;
432 | public static final int Widget_Sherlock_ActionButton = 0x7f0a0010;
433 | public static final int Widget_Sherlock_ActionButton_CloseMode = 0x7f0a0012;
434 | public static final int Widget_Sherlock_ActionButton_Overflow = 0x7f0a0014;
435 | public static final int Widget_Sherlock_ActionMode = 0x7f0a0017;
436 | public static final int Widget_Sherlock_ActivityChooserView = 0x7f0a001f;
437 | public static final int Widget_Sherlock_Button_Small = 0x7f0a0021;
438 | public static final int Widget_Sherlock_DropDownItem_Spinner = 0x7f0a002a;
439 | public static final int Widget_Sherlock_Light_ActionBar = 0x7f0a0004;
440 | public static final int Widget_Sherlock_Light_ActionBar_Solid = 0x7f0a0005;
441 | public static final int Widget_Sherlock_Light_ActionBar_Solid_Inverse = 0x7f0a0006;
442 | public static final int Widget_Sherlock_Light_ActionBar_TabBar = 0x7f0a000b;
443 | public static final int Widget_Sherlock_Light_ActionBar_TabBar_Inverse = 0x7f0a000c;
444 | public static final int Widget_Sherlock_Light_ActionBar_TabText = 0x7f0a000e;
445 | public static final int Widget_Sherlock_Light_ActionBar_TabText_Inverse = 0x7f0a000f;
446 | public static final int Widget_Sherlock_Light_ActionBar_TabView = 0x7f0a0008;
447 | public static final int Widget_Sherlock_Light_ActionBar_TabView_Inverse = 0x7f0a0009;
448 | public static final int Widget_Sherlock_Light_ActionButton = 0x7f0a0011;
449 | public static final int Widget_Sherlock_Light_ActionButton_CloseMode = 0x7f0a0013;
450 | public static final int Widget_Sherlock_Light_ActionButton_Overflow = 0x7f0a0015;
451 | public static final int Widget_Sherlock_Light_ActionMode = 0x7f0a0018;
452 | public static final int Widget_Sherlock_Light_ActionMode_Inverse = 0x7f0a0019;
453 | public static final int Widget_Sherlock_Light_ActivityChooserView = 0x7f0a0020;
454 | public static final int Widget_Sherlock_Light_Button_Small = 0x7f0a0022;
455 | public static final int Widget_Sherlock_Light_DropDownItem_Spinner = 0x7f0a002b;
456 | public static final int Widget_Sherlock_Light_ListPopupWindow = 0x7f0a001b;
457 | public static final int Widget_Sherlock_Light_ListView_DropDown = 0x7f0a0028;
458 | public static final int Widget_Sherlock_Light_PopupMenu = 0x7f0a001d;
459 | public static final int Widget_Sherlock_Light_PopupWindow_ActionMode = 0x7f0a002d;
460 | public static final int Widget_Sherlock_Light_ProgressBar = 0x7f0a002f;
461 | public static final int Widget_Sherlock_Light_ProgressBar_Horizontal = 0x7f0a0031;
462 | public static final int Widget_Sherlock_Light_SearchAutoCompleteTextView = 0x7f0a0035;
463 | public static final int Widget_Sherlock_Light_Spinner_DropDown_ActionBar = 0x7f0a0025;
464 | public static final int Widget_Sherlock_ListPopupWindow = 0x7f0a001a;
465 | public static final int Widget_Sherlock_ListView_DropDown = 0x7f0a0027;
466 | public static final int Widget_Sherlock_PopupMenu = 0x7f0a001c;
467 | public static final int Widget_Sherlock_PopupWindow_ActionMode = 0x7f0a002c;
468 | public static final int Widget_Sherlock_ProgressBar = 0x7f0a002e;
469 | public static final int Widget_Sherlock_ProgressBar_Horizontal = 0x7f0a0030;
470 | public static final int Widget_Sherlock_SearchAutoCompleteTextView = 0x7f0a0034;
471 | public static final int Widget_Sherlock_Spinner_DropDown_ActionBar = 0x7f0a0024;
472 | public static final int Widget_Sherlock_TextView_SpinnerItem = 0x7f0a0032;
473 | }
474 | public static final class styleable {
475 | public static final int[] SherlockActionBar = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010049, 0x7f01004a, 0x7f01004b, 0x7f01004c, 0x7f01004d, 0x7f01004e, 0x7f01004f, 0x7f010050, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054, 0x7f010055 };
476 | public static final int SherlockActionBar_background = 2;
477 | public static final int SherlockActionBar_backgroundSplit = 3;
478 | public static final int SherlockActionBar_backgroundStacked = 12;
479 | public static final int SherlockActionBar_customNavigationLayout = 13;
480 | public static final int SherlockActionBar_displayOptions = 7;
481 | public static final int SherlockActionBar_divider = 5;
482 | public static final int SherlockActionBar_height = 4;
483 | public static final int SherlockActionBar_homeLayout = 14;
484 | public static final int SherlockActionBar_icon = 10;
485 | public static final int SherlockActionBar_indeterminateProgressStyle = 16;
486 | public static final int SherlockActionBar_itemPadding = 18;
487 | public static final int SherlockActionBar_logo = 11;
488 | public static final int SherlockActionBar_navigationMode = 6;
489 | public static final int SherlockActionBar_progressBarPadding = 17;
490 | public static final int SherlockActionBar_progressBarStyle = 15;
491 | public static final int SherlockActionBar_subtitle = 9;
492 | public static final int SherlockActionBar_subtitleTextStyle = 1;
493 | public static final int SherlockActionBar_title = 8;
494 | public static final int SherlockActionBar_titleTextStyle = 0;
495 | public static final int[] SherlockActionMenuItemView = { 0x0101013f };
496 | public static final int SherlockActionMenuItemView_android_minWidth = 0;
497 | public static final int[] SherlockActionMode = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004 };
498 | public static final int SherlockActionMode_background = 2;
499 | public static final int SherlockActionMode_backgroundSplit = 3;
500 | public static final int SherlockActionMode_height = 4;
501 | public static final int SherlockActionMode_subtitleTextStyle = 1;
502 | public static final int SherlockActionMode_titleTextStyle = 0;
503 | public static final int[] SherlockActivityChooserView = { 0x010100d4, 0x7f01005e, 0x7f01005f };
504 | public static final int SherlockActivityChooserView_android_background = 0;
505 | public static final int SherlockActivityChooserView_expandActivityOverflowButtonDrawable = 2;
506 | public static final int SherlockActivityChooserView_initialActivityCount = 1;
507 | public static final int[] SherlockMenuGroup = { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 };
508 | public static final int SherlockMenuGroup_android_checkableBehavior = 5;
509 | public static final int SherlockMenuGroup_android_enabled = 0;
510 | public static final int SherlockMenuGroup_android_id = 1;
511 | public static final int SherlockMenuGroup_android_menuCategory = 3;
512 | public static final int SherlockMenuGroup_android_orderInCategory = 4;
513 | public static final int SherlockMenuGroup_android_visible = 2;
514 | public static final int[] SherlockMenuItem = { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x010102d9, 0x010102fb, 0x010102fc, 0x01010389 };
515 | public static final int SherlockMenuItem_android_actionLayout = 14;
516 | public static final int SherlockMenuItem_android_actionProviderClass = 16;
517 | public static final int SherlockMenuItem_android_actionViewClass = 15;
518 | public static final int SherlockMenuItem_android_alphabeticShortcut = 9;
519 | public static final int SherlockMenuItem_android_checkable = 11;
520 | public static final int SherlockMenuItem_android_checked = 3;
521 | public static final int SherlockMenuItem_android_enabled = 1;
522 | public static final int SherlockMenuItem_android_icon = 0;
523 | public static final int SherlockMenuItem_android_id = 2;
524 | public static final int SherlockMenuItem_android_menuCategory = 5;
525 | public static final int SherlockMenuItem_android_numericShortcut = 10;
526 | public static final int SherlockMenuItem_android_onClick = 12;
527 | public static final int SherlockMenuItem_android_orderInCategory = 6;
528 | public static final int SherlockMenuItem_android_showAsAction = 13;
529 | public static final int SherlockMenuItem_android_title = 7;
530 | public static final int SherlockMenuItem_android_titleCondensed = 8;
531 | public static final int SherlockMenuItem_android_visible = 4;
532 | public static final int[] SherlockMenuView = { 0x7f010056, 0x7f010057, 0x7f010058, 0x7f010059, 0x7f01005a, 0x7f01005b, 0x7f01005c, 0x7f01005d };
533 | public static final int SherlockMenuView_headerBackground = 3;
534 | public static final int SherlockMenuView_horizontalDivider = 1;
535 | public static final int SherlockMenuView_itemBackground = 4;
536 | public static final int SherlockMenuView_itemIconDisabledAlpha = 6;
537 | public static final int SherlockMenuView_itemTextAppearance = 0;
538 | public static final int SherlockMenuView_preserveIconSpacing = 7;
539 | public static final int SherlockMenuView_verticalDivider = 2;
540 | public static final int SherlockMenuView_windowAnimationStyle = 5;
541 | public static final int[] SherlockSearchView = { 0x0101011f, 0x01010220, 0x01010264, 0x7f010060, 0x7f010061 };
542 | public static final int SherlockSearchView_android_imeOptions = 2;
543 | public static final int SherlockSearchView_android_inputType = 1;
544 | public static final int SherlockSearchView_android_maxWidth = 0;
545 | public static final int SherlockSearchView_iconifiedByDefault = 3;
546 | public static final int SherlockSearchView_queryHint = 4;
547 | public static final int[] SherlockSpinner = { 0x010100af, 0x01010175, 0x01010176, 0x0101017b, 0x01010262, 0x010102ac, 0x010102ad, 0x01010411 };
548 | public static final int SherlockSpinner_android_dropDownHorizontalOffset = 5;
549 | public static final int SherlockSpinner_android_dropDownSelector = 1;
550 | public static final int SherlockSpinner_android_dropDownVerticalOffset = 6;
551 | public static final int SherlockSpinner_android_dropDownWidth = 4;
552 | public static final int SherlockSpinner_android_gravity = 0;
553 | public static final int SherlockSpinner_android_popupBackground = 2;
554 | public static final int SherlockSpinner_android_popupPromptView = 7;
555 | public static final int SherlockSpinner_android_prompt = 3;
556 | public static final int[] SherlockTheme = { 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c, 0x7f01001d, 0x7f01001e, 0x7f01001f, 0x7f010020, 0x7f010021, 0x7f010022, 0x7f010023, 0x7f010024, 0x7f010025, 0x7f010026, 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e, 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037, 0x7f010038, 0x7f010039, 0x7f01003a, 0x7f01003b, 0x7f01003c, 0x7f01003d, 0x7f01003e, 0x7f01003f, 0x7f010040, 0x7f010041, 0x7f010042, 0x7f010043, 0x7f010044, 0x7f010045, 0x7f010046, 0x7f010047, 0x7f010048 };
557 | public static final int SherlockTheme_actionBarDivider = 8;
558 | public static final int SherlockTheme_actionBarItemBackground = 9;
559 | public static final int SherlockTheme_actionBarSize = 7;
560 | public static final int SherlockTheme_actionBarSplitStyle = 5;
561 | public static final int SherlockTheme_actionBarStyle = 4;
562 | public static final int SherlockTheme_actionBarTabBarStyle = 1;
563 | public static final int SherlockTheme_actionBarTabStyle = 0;
564 | public static final int SherlockTheme_actionBarTabTextStyle = 2;
565 | public static final int SherlockTheme_actionBarWidgetTheme = 6;
566 | public static final int SherlockTheme_actionButtonStyle = 52;
567 | public static final int SherlockTheme_actionDropDownStyle = 51;
568 | public static final int SherlockTheme_actionMenuTextAppearance = 10;
569 | public static final int SherlockTheme_actionMenuTextColor = 11;
570 | public static final int SherlockTheme_actionModeBackground = 14;
571 | public static final int SherlockTheme_actionModeCloseButtonStyle = 13;
572 | public static final int SherlockTheme_actionModeCloseDrawable = 16;
573 | public static final int SherlockTheme_actionModePopupWindowStyle = 18;
574 | public static final int SherlockTheme_actionModeShareDrawable = 17;
575 | public static final int SherlockTheme_actionModeSplitBackground = 15;
576 | public static final int SherlockTheme_actionModeStyle = 12;
577 | public static final int SherlockTheme_actionOverflowButtonStyle = 3;
578 | public static final int SherlockTheme_actionSpinnerItemStyle = 57;
579 | public static final int SherlockTheme_activatedBackgroundIndicator = 65;
580 | public static final int SherlockTheme_activityChooserViewStyle = 64;
581 | public static final int SherlockTheme_buttonStyleSmall = 19;
582 | public static final int SherlockTheme_dividerVertical = 50;
583 | public static final int SherlockTheme_dropDownHintAppearance = 66;
584 | public static final int SherlockTheme_dropDownListViewStyle = 54;
585 | public static final int SherlockTheme_dropdownListPreferredItemHeight = 56;
586 | public static final int SherlockTheme_homeAsUpIndicator = 53;
587 | public static final int SherlockTheme_listPopupWindowStyle = 63;
588 | public static final int SherlockTheme_listPreferredItemHeightSmall = 44;
589 | public static final int SherlockTheme_listPreferredItemPaddingLeft = 45;
590 | public static final int SherlockTheme_listPreferredItemPaddingRight = 46;
591 | public static final int SherlockTheme_popupMenuStyle = 55;
592 | public static final int SherlockTheme_searchAutoCompleteTextView = 30;
593 | public static final int SherlockTheme_searchDropdownBackground = 31;
594 | public static final int SherlockTheme_searchResultListItemHeight = 41;
595 | public static final int SherlockTheme_searchViewCloseIcon = 32;
596 | public static final int SherlockTheme_searchViewEditQuery = 36;
597 | public static final int SherlockTheme_searchViewEditQueryBackground = 37;
598 | public static final int SherlockTheme_searchViewGoIcon = 33;
599 | public static final int SherlockTheme_searchViewSearchIcon = 34;
600 | public static final int SherlockTheme_searchViewTextField = 38;
601 | public static final int SherlockTheme_searchViewTextFieldRight = 39;
602 | public static final int SherlockTheme_searchViewVoiceIcon = 35;
603 | public static final int SherlockTheme_selectableItemBackground = 20;
604 | public static final int SherlockTheme_spinnerDropDownItemStyle = 29;
605 | public static final int SherlockTheme_spinnerItemStyle = 28;
606 | public static final int SherlockTheme_textAppearanceLargePopupMenu = 22;
607 | public static final int SherlockTheme_textAppearanceListItemSmall = 47;
608 | public static final int SherlockTheme_textAppearanceSearchResultSubtitle = 43;
609 | public static final int SherlockTheme_textAppearanceSearchResultTitle = 42;
610 | public static final int SherlockTheme_textAppearanceSmall = 24;
611 | public static final int SherlockTheme_textAppearanceSmallPopupMenu = 23;
612 | public static final int SherlockTheme_textColorPrimary = 25;
613 | public static final int SherlockTheme_textColorPrimaryDisableOnly = 26;
614 | public static final int SherlockTheme_textColorPrimaryInverse = 27;
615 | public static final int SherlockTheme_textColorSearchUrl = 40;
616 | public static final int SherlockTheme_windowActionBar = 59;
617 | public static final int SherlockTheme_windowActionBarOverlay = 60;
618 | public static final int SherlockTheme_windowActionModeOverlay = 61;
619 | public static final int SherlockTheme_windowContentOverlay = 21;
620 | public static final int SherlockTheme_windowMinWidthMajor = 48;
621 | public static final int SherlockTheme_windowMinWidthMinor = 49;
622 | public static final int SherlockTheme_windowNoTitle = 58;
623 | public static final int SherlockTheme_windowSplitActionBar = 62;
624 | public static final int[] SherlockView = { 0x010100da };
625 | public static final int SherlockView_android_focusable = 0;
626 | }
627 | }
628 |
--------------------------------------------------------------------------------