| @@ -0,0 +1,8 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
| <classpath> | |||
| <classpathentry kind="src" path="src"/> | |||
| <classpathentry kind="src" path="gen"/> | |||
| <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> | |||
| <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> | |||
| <classpathentry kind="output" path="bin/classes"/> | |||
| </classpath> | |||
| @@ -0,0 +1,33 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
| <projectDescription> | |||
| <name>RecurveBowSight</name> | |||
| <comment></comment> | |||
| <projects> | |||
| </projects> | |||
| <buildSpec> | |||
| <buildCommand> | |||
| <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> | |||
| <arguments> | |||
| </arguments> | |||
| </buildCommand> | |||
| <buildCommand> | |||
| <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> | |||
| <arguments> | |||
| </arguments> | |||
| </buildCommand> | |||
| <buildCommand> | |||
| <name>org.eclipse.jdt.core.javabuilder</name> | |||
| <arguments> | |||
| </arguments> | |||
| </buildCommand> | |||
| <buildCommand> | |||
| <name>com.android.ide.eclipse.adt.ApkBuilder</name> | |||
| <arguments> | |||
| </arguments> | |||
| </buildCommand> | |||
| </buildSpec> | |||
| <natures> | |||
| <nature>com.android.ide.eclipse.adt.AndroidNature</nature> | |||
| <nature>org.eclipse.jdt.core.javanature</nature> | |||
| </natures> | |||
| </projectDescription> | |||
| @@ -0,0 +1,27 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <manifest | |||
| xmlns:android="http://schemas.android.com/apk/res/android" | |||
| package="net.spherIC.recurvebowsight" | |||
| android:versionCode="1" | |||
| android:versionName="0.9.0" > | |||
| <uses-sdk | |||
| android:minSdkVersion="10" | |||
| android:targetSdkVersion="15" /> | |||
| <application | |||
| android:icon="@drawable/ic_launcher" | |||
| android:label="@string/app_name" | |||
| android:theme="@style/GlassTheme" > | |||
| <activity | |||
| android:name="ch.spherIC.recurvebowsight.RBSMainActivity" | |||
| android:label="@string/title_rbs_main_activity" > | |||
| <intent-filter> | |||
| <action android:name="android.intent.action.MAIN" /> | |||
| <category android:name="android.intent.category.LAUNCHER" /> | |||
| </intent-filter> | |||
| </activity> | |||
| </application> | |||
| </manifest> | |||
| @@ -0,0 +1,27 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <manifest | |||
| xmlns:android="http://schemas.android.com/apk/res/android" | |||
| package="net.spherIC.recurvebowsight" | |||
| android:versionCode="1" | |||
| android:versionName="0.9.0" > | |||
| <uses-sdk | |||
| android:minSdkVersion="10" | |||
| android:targetSdkVersion="15" /> | |||
| <application | |||
| android:icon="@drawable/ic_launcher" | |||
| android:label="@string/app_name" | |||
| android:theme="@style/GlassTheme" > | |||
| <activity | |||
| android:name="ch.spherIC.recurvebowsight.RBSMainActivity" | |||
| android:label="@string/title_rbs_main_activity" > | |||
| <intent-filter> | |||
| <action android:name="android.intent.action.MAIN" /> | |||
| <category android:name="android.intent.category.LAUNCHER" /> | |||
| </intent-filter> | |||
| </activity> | |||
| </application> | |||
| </manifest> | |||
| @@ -0,0 +1,3 @@ | |||
| # cache for current jar dependecy. DO NOT EDIT. | |||
| # format is <lastModified> <length> <SHA-1> <path> | |||
| # Encoding is UTF-8 | |||
| @@ -0,0 +1,6 @@ | |||
| /** Automatically generated file. DO NOT MODIFY */ | |||
| package net.spherIC.recurvebowsight; | |||
| public final class BuildConfig { | |||
| public final static boolean DEBUG = true; | |||
| } | |||
| @@ -0,0 +1,183 @@ | |||
| /* AUTO-GENERATED FILE. DO NOT MODIFY. | |||
| * | |||
| * This class was automatically generated by the | |||
| * aapt tool from the resource data it found. It | |||
| * should not be modified by hand. | |||
| */ | |||
| package net.spherIC.recurvebowsight; | |||
| public final class R { | |||
| public static final class anim { | |||
| public static final int in_from_left=0x7f040000; | |||
| public static final int in_from_right=0x7f040001; | |||
| public static final int out_to_left=0x7f040002; | |||
| public static final int out_to_right=0x7f040003; | |||
| } | |||
| public static final class attr { | |||
| /** <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>". | |||
| <p>This may also be a reference to a resource (in the form | |||
| "<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or | |||
| theme attribute (in the form | |||
| "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>") | |||
| containing a value of this type. | |||
| */ | |||
| public static final int drawBorder=0x7f010000; | |||
| /** <p>Must be a color value, in the form of "<code>#<i>rgb</i></code>", "<code>#<i>argb</i></code>", | |||
| "<code>#<i>rrggbb</i></code>", or "<code>#<i>aarrggbb</i></code>". | |||
| <p>This may also be a reference to a resource (in the form | |||
| "<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or | |||
| theme attribute (in the form | |||
| "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>") | |||
| containing a value of this type. | |||
| */ | |||
| public static final int drawBorderColor=0x7f010002; | |||
| /** <p>Must be a dimension value, which is a floating point number appended with a unit such as "<code>14.5sp</code>". | |||
| Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), | |||
| in (inches), mm (millimeters). | |||
| <p>This may also be a reference to a resource (in the form | |||
| "<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or | |||
| theme attribute (in the form | |||
| "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>") | |||
| containing a value of this type. | |||
| */ | |||
| public static final int drawBorderWidth=0x7f010001; | |||
| } | |||
| public static final class color { | |||
| public static final int black=0x7f050002; | |||
| public static final int semi_translucent_black=0x7f050001; | |||
| public static final int translucent=0x7f050000; | |||
| public static final int white=0x7f050004; | |||
| public static final int yellow=0x7f050003; | |||
| } | |||
| public static final class drawable { | |||
| public static final int bg=0x7f020000; | |||
| public static final int bg_about=0x7f020001; | |||
| public static final int btn_default_normal=0x7f020002; | |||
| public static final int btn_fs=0x7f020003; | |||
| public static final int dropdown_fs=0x7f020004; | |||
| public static final int glassbg_black=0x7f020005; | |||
| public static final int glassbutton_disabled=0x7f020006; | |||
| public static final int glassbutton_focused=0x7f020007; | |||
| public static final int glassbutton_normal=0x7f020008; | |||
| public static final int glassbutton_pressed=0x7f020009; | |||
| public static final int glassdropdown_focused=0x7f02000a; | |||
| public static final int glassdropdown_normal=0x7f02000b; | |||
| public static final int glassdropdown_pressed=0x7f02000c; | |||
| public static final int gradient_view=0x7f02000d; | |||
| public static final int ic_action_search=0x7f02000e; | |||
| public static final int ic_launcher=0x7f02000f; | |||
| public static final int z_selector_background=0x7f020010; | |||
| public static final int z_selector_background_focused=0x7f020011; | |||
| public static final int z_selector_background_pressed=0x7f020012; | |||
| } | |||
| public static final class id { | |||
| public static final int EditText01=0x7f090003; | |||
| public static final int EditText02=0x7f090004; | |||
| public static final int EditText03=0x7f090005; | |||
| public static final int EditText04=0x7f090006; | |||
| public static final int EditText05=0x7f090007; | |||
| public static final int EditText06=0x7f090008; | |||
| public static final int EditText07=0x7f090009; | |||
| public static final int EditText08=0x7f09000a; | |||
| public static final int EditText09=0x7f09000b; | |||
| public static final int EditText10=0x7f09000c; | |||
| public static final int EditText11=0x7f09000d; | |||
| public static final int EditText12=0x7f09000e; | |||
| public static final int EditText13=0x7f09000f; | |||
| public static final int EditText14=0x7f090010; | |||
| public static final int EditText15=0x7f090011; | |||
| public static final int EditText16=0x7f090012; | |||
| public static final int EditText17=0x7f090013; | |||
| public static final int EditText18=0x7f090014; | |||
| public static final int ballisticResults=0x7f090015; | |||
| public static final int editText2=0x7f090016; | |||
| public static final int editText3=0x7f090018; | |||
| public static final int inputParams=0x7f090002; | |||
| public static final int menu_settings=0x7f090019; | |||
| public static final int scrollView1=0x7f090001; | |||
| public static final int sightConfig=0x7f090017; | |||
| public static final int viewFlipper=0x7f090000; | |||
| } | |||
| public static final class layout { | |||
| public static final int rbs_main=0x7f030000; | |||
| } | |||
| public static final class menu { | |||
| public static final int rbs_main=0x7f080000; | |||
| } | |||
| public static final class string { | |||
| public static final int app_name=0x7f060000; | |||
| public static final int hello_world=0x7f060001; | |||
| public static final int menu_settings=0x7f060002; | |||
| public static final int title_rbs_main_activity=0x7f060003; | |||
| } | |||
| public static final class style { | |||
| public static final int GlassDropdownItem=0x7f070000; | |||
| public static final int GlassTheme=0x7f070001; | |||
| public static final int GlassThemeDialog=0x7f070002; | |||
| } | |||
| public static final class styleable { | |||
| /** Attributes that can be used with a XTextView. | |||
| <p>Includes the following attributes:</p> | |||
| <table> | |||
| <colgroup align="left" /> | |||
| <colgroup align="left" /> | |||
| <tr><th>Attribute</th><th>Description</th></tr> | |||
| <tr><td><code>{@link #XTextView_drawBorder net.spherIC.recurvebowsight:drawBorder}</code></td><td></td></tr> | |||
| <tr><td><code>{@link #XTextView_drawBorderColor net.spherIC.recurvebowsight:drawBorderColor}</code></td><td></td></tr> | |||
| <tr><td><code>{@link #XTextView_drawBorderWidth net.spherIC.recurvebowsight:drawBorderWidth}</code></td><td></td></tr> | |||
| </table> | |||
| @see #XTextView_drawBorder | |||
| @see #XTextView_drawBorderColor | |||
| @see #XTextView_drawBorderWidth | |||
| */ | |||
| public static final int[] XTextView = { | |||
| 0x7f010000, 0x7f010001, 0x7f010002 | |||
| }; | |||
| /** | |||
| <p>This symbol is the offset where the {@link net.spherIC.recurvebowsight.R.attr#drawBorder} | |||
| attribute's value can be found in the {@link #XTextView} array. | |||
| <p>Must be a boolean value, either "<code>true</code>" or "<code>false</code>". | |||
| <p>This may also be a reference to a resource (in the form | |||
| "<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or | |||
| theme attribute (in the form | |||
| "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>") | |||
| containing a value of this type. | |||
| @attr name android:drawBorder | |||
| */ | |||
| public static final int XTextView_drawBorder = 0; | |||
| /** | |||
| <p>This symbol is the offset where the {@link net.spherIC.recurvebowsight.R.attr#drawBorderColor} | |||
| attribute's value can be found in the {@link #XTextView} array. | |||
| <p>Must be a color value, in the form of "<code>#<i>rgb</i></code>", "<code>#<i>argb</i></code>", | |||
| "<code>#<i>rrggbb</i></code>", or "<code>#<i>aarrggbb</i></code>". | |||
| <p>This may also be a reference to a resource (in the form | |||
| "<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or | |||
| theme attribute (in the form | |||
| "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>") | |||
| containing a value of this type. | |||
| @attr name android:drawBorderColor | |||
| */ | |||
| public static final int XTextView_drawBorderColor = 2; | |||
| /** | |||
| <p>This symbol is the offset where the {@link net.spherIC.recurvebowsight.R.attr#drawBorderWidth} | |||
| attribute's value can be found in the {@link #XTextView} array. | |||
| <p>Must be a dimension value, which is a floating point number appended with a unit such as "<code>14.5sp</code>". | |||
| Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), | |||
| in (inches), mm (millimeters). | |||
| <p>This may also be a reference to a resource (in the form | |||
| "<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or | |||
| theme attribute (in the form | |||
| "<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>") | |||
| containing a value of this type. | |||
| @attr name android:drawBorderWidth | |||
| */ | |||
| public static final int XTextView_drawBorderWidth = 1; | |||
| }; | |||
| } | |||
| @@ -0,0 +1,20 @@ | |||
| # To enable ProGuard in your project, edit project.properties | |||
| # to define the proguard.config property as described in that file. | |||
| # | |||
| # Add project specific ProGuard rules here. | |||
| # By default, the flags in this file are appended to flags specified | |||
| # in ${sdk.dir}/tools/proguard/proguard-android.txt | |||
| # You can edit the include path and order by changing the ProGuard | |||
| # include property in project.properties. | |||
| # | |||
| # For more details, see | |||
| # http://developer.android.com/guide/developing/tools/proguard.html | |||
| # Add any project specific keep options here: | |||
| # If your project uses WebView with JS, uncomment the following | |||
| # and specify the fully qualified class name to the JavaScript interface | |||
| # class: | |||
| #-keepclassmembers class fqcn.of.javascript.interface.for.webview { | |||
| # public *; | |||
| #} | |||
| @@ -0,0 +1,14 @@ | |||
| # This file is automatically generated by Android Tools. | |||
| # Do not modify this file -- YOUR CHANGES WILL BE ERASED! | |||
| # | |||
| # This file must be checked in Version Control Systems. | |||
| # | |||
| # To customize properties used by the Ant build system edit | |||
| # "ant.properties", and override values to adapt the script to your | |||
| # project structure. | |||
| # | |||
| # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): | |||
| #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt | |||
| # Project target. | |||
| target=android-10 | |||
| @@ -0,0 +1,8 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <set xmlns:android="http://schemas.android.com/apk/res/android" | |||
| android:shareInterpolator="false"> | |||
| <translate | |||
| android:fromXDelta="-100%" android:toXDelta="0%" | |||
| android:fromYDelta="0%" android:toYDelta="0%" | |||
| android:duration="500" /> | |||
| </set> | |||
| @@ -0,0 +1,8 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <set xmlns:android="http://schemas.android.com/apk/res/android" | |||
| android:shareInterpolator="false"> | |||
| <translate | |||
| android:fromXDelta="100%" android:toXDelta="0%" | |||
| android:fromYDelta="0%" android:toYDelta="0%" | |||
| android:duration="500" /> | |||
| </set> | |||
| @@ -0,0 +1,7 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <set xmlns:android="http://schemas.android.com/apk/res/android" | |||
| android:shareInterpolator="false"> | |||
| <translate android:fromXDelta="0%" android:toXDelta="-100%" | |||
| android:fromYDelta="0%" android:toYDelta="0%" | |||
| android:duration="500"/> | |||
| </set> | |||
| @@ -0,0 +1,7 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <set xmlns:android="http://schemas.android.com/apk/res/android" | |||
| android:shareInterpolator="false"> | |||
| <translate android:fromXDelta="0%" android:toXDelta="100%" | |||
| android:fromYDelta="0%" android:toYDelta="0%" | |||
| android:duration="500"/> | |||
| </set> | |||
| @@ -0,0 +1,32 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <!-- | |||
| Copyright (C) 2008 The Android Open Source Project Licensed under the | |||
| Apache License, Version 2.0 (the "License"); you may not use this file | |||
| except in compliance with the License. You may obtain a copy of the | |||
| License at http://www.apache.org/licenses/LICENSE-2.0 Unless required | |||
| by applicable law or agreed to in writing, software distributed under | |||
| the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR | |||
| CONDITIONS OF ANY KIND, either express or implied. See the License for | |||
| the specific language governing permissions and limitations under the | |||
| License. | |||
| --> | |||
| <selector | |||
| xmlns:android="http://schemas.android.com/apk/res/android"> | |||
| <!-- item | |||
| android:state_window_focused="false" | |||
| android:drawable="@drawable/glassbutton_normal" /--> | |||
| <item | |||
| android:state_pressed="true" | |||
| android:drawable="@drawable/glassbutton_pressed" /> | |||
| <item | |||
| android:state_enabled="false" | |||
| android:drawable="@drawable/glassbutton_disabled" /> | |||
| <item | |||
| android:state_focused="true" | |||
| android:state_pressed="false" | |||
| android:drawable="@drawable/glassbutton_focused" /> | |||
| <item | |||
| android:drawable="@drawable/glassbutton_normal" /> | |||
| </selector> | |||
| @@ -0,0 +1,29 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <!-- | |||
| Copyright (C) 2008 The Android Open Source Project Licensed under the | |||
| Apache License, Version 2.0 (the "License"); you may not use this file | |||
| except in compliance with the License. You may obtain a copy of the | |||
| License at http://www.apache.org/licenses/LICENSE-2.0 Unless required | |||
| by applicable law or agreed to in writing, software distributed under | |||
| the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR | |||
| CONDITIONS OF ANY KIND, either express or implied. See the License for | |||
| the specific language governing permissions and limitations under the | |||
| License. | |||
| --> | |||
| <selector | |||
| xmlns:android="http://schemas.android.com/apk/res/android"> | |||
| <item | |||
| android:state_window_focused="false" | |||
| android:drawable="@drawable/glassdropdown_normal" /> | |||
| <item | |||
| android:state_pressed="true" | |||
| android:drawable="@drawable/glassdropdown_pressed" /> | |||
| <item | |||
| android:state_focused="true" | |||
| android:state_pressed="false" | |||
| android:drawable="@drawable/glassdropdown_focused" /> | |||
| <item | |||
| android:drawable="@drawable/glassdropdown_normal" /> | |||
| </selector> | |||
| @@ -0,0 +1,10 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <shape | |||
| xmlns:android="http://schemas.android.com/apk/res/android" | |||
| android:shape="rectangle"> | |||
| <gradient | |||
| android:startColor="#20000000" | |||
| android:centerColor="@color/black" | |||
| android:endColor="#20000000" | |||
| android:angle="0" /> | |||
| </shape> | |||
| @@ -0,0 +1,37 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <selector | |||
| xmlns:android="http://schemas.android.com/apk/res/android"> | |||
| <item | |||
| android:state_window_focused="false" | |||
| android:drawable="@android:color/transparent" /> | |||
| <!-- | |||
| Even though these two point to the same resource, have two states so | |||
| the drawable will invalidate itself when coming out of pressed state. | |||
| --> | |||
| <item | |||
| android:state_focused="true" | |||
| android:state_enabled="false" | |||
| android:state_pressed="true" | |||
| android:drawable="@drawable/z_selector_background_pressed" /> | |||
| <item | |||
| android:state_focused="true" | |||
| android:state_enabled="false" | |||
| android:drawable="@drawable/z_selector_background_focused" /> | |||
| <item | |||
| android:state_focused="true" | |||
| android:state_pressed="true" | |||
| android:drawable="@drawable/z_selector_background_pressed" /> | |||
| <item | |||
| android:state_focused="false" | |||
| android:state_pressed="true" | |||
| android:drawable="@drawable/z_selector_background_pressed" /> | |||
| <item | |||
| android:state_focused="true" | |||
| android:drawable="@drawable/z_selector_background_focused" /> | |||
| </selector> | |||
| @@ -0,0 +1,47 @@ | |||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/bg"> | |||
| <ViewFlipper | |||
| android:id="@+id/viewFlipper" | |||
| android:layout_width="match_parent" | |||
| android:layout_height="match_parent" | |||
| android:layout_alignParentBottom="true" | |||
| android:layout_alignParentLeft="true" | |||
| android:layout_alignParentRight="true" | |||
| android:layout_alignParentTop="true" | |||
| android:scrollbarAlwaysDrawVerticalTrack="false" > | |||
| <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="match_parent"> | |||
| <LinearLayout android:id="@+id/inputParams" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="fill_vertical|fill_horizontal" android:orientation="vertical" android:scrollbarStyle="insideOverlay" android:scrollbars="vertical"> | |||
| <EditText android:id="@+id/EditText01" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"> | |||
| </EditText> | |||
| <EditText android:id="@+id/EditText02" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText03" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"> | |||
| </EditText> | |||
| <EditText android:id="@+id/EditText04" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText05" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText06" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText07" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText08" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText09" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText10" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText11" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText12" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText13" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText14" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText15" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText16" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText17" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| <EditText android:id="@+id/EditText18" android:layout_width="200dp" android:layout_height="36dp" android:ems="10" android:gravity="center_vertical" android:inputType="numberDecimal" android:paddingBottom="9dp" android:paddingTop="9dp" android:text="22" android:textSize="18dp"/> | |||
| </LinearLayout> | |||
| </ScrollView> | |||
| <LinearLayout android:id="@+id/ballisticResults" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> | |||
| <EditText android:id="@+id/editText2" android:layout_width="match_parent" android:layout_height="36dp" android:inputType="numberDecimal" android:text="42" android:textSize="18dp"/> | |||
| </LinearLayout> | |||
| <LinearLayout android:id="@+id/sightConfig" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> | |||
| <EditText android:id="@+id/editText3" android:layout_width="match_parent" android:layout_height="36dp" android:inputType="numberDecimal" android:text="62" android:textSize="18dp"/> | |||
| </LinearLayout> | |||
| </ViewFlipper> | |||
| </RelativeLayout> | |||
| @@ -0,0 +1,5 @@ | |||
| <menu xmlns:android="http://schemas.android.com/apk/res/android"> | |||
| <item android:id="@+id/menu_settings" | |||
| android:title="@string/menu_settings" | |||
| android:orderInCategory="100" /> | |||
| </menu> | |||
| @@ -0,0 +1,20 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <resources> | |||
| <declare-styleable | |||
| name="XTextView"> | |||
| <attr | |||
| name="drawBorder" | |||
| format="boolean" /> | |||
| <attr | |||
| name="drawBorderWidth" | |||
| format="dimension" /> | |||
| <attr | |||
| name="drawBorderColor" | |||
| format="color" /> | |||
| </declare-styleable> | |||
| </resources> | |||
| @@ -0,0 +1,13 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <resources> | |||
| <color | |||
| name="translucent">#00000000</color> | |||
| <color | |||
| name="semi_translucent_black">#80000000</color> | |||
| <color | |||
| name="black">#FF000000</color> | |||
| <color | |||
| name="yellow">#AAFFFFAA</color> | |||
| <color | |||
| name="white">#FFFFFFFF</color> | |||
| </resources> | |||
| @@ -0,0 +1,8 @@ | |||
| <resources> | |||
| <string name="app_name">Recurve Bow Sight</string> | |||
| <string name="hello_world">Hello world!</string> | |||
| <string name="menu_settings">Settings</string> | |||
| <string name="title_rbs_main_activity">Recurve Bow Sight</string> | |||
| </resources> | |||
| @@ -0,0 +1,27 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <resources> | |||
| <style | |||
| name="GlassDropdownItem" | |||
| parent="@android:style/Widget.TextView.SpinnerItem"> | |||
| <item | |||
| name="android:textColor">@color/white</item> | |||
| <item | |||
| name="android:gravity">center_vertical|center_horizontal</item> | |||
| </style> | |||
| <style | |||
| name="GlassTheme" | |||
| parent="@android:style/Theme"> | |||
| <item | |||
| name="android:spinnerItemStyle">@style/GlassDropdownItem</item> | |||
| </style> | |||
| <style | |||
| name="GlassThemeDialog" | |||
| parent="@android:style/Theme.Dialog"> | |||
| <item | |||
| name="android:spinnerItemStyle">@style/GlassDropdownItem</item> | |||
| </style> | |||
| </resources> | |||
| @@ -0,0 +1,130 @@ | |||
| package ch.spherIC.recurvebowsight; | |||
| import android.app.Activity; | |||
| import android.os.Bundle; | |||
| import android.view.Menu; | |||
| import android.view.MotionEvent; | |||
| import android.view.View; | |||
| import android.view.View.OnTouchListener; | |||
| import android.widget.ScrollView; | |||
| import android.widget.ViewFlipper; | |||
| import net.spherIC.recurvebowsight.R; | |||
| public class RBSMainActivity extends Activity { | |||
| private ViewFlipper viewFlipper; | |||
| private ScrollView scrollView; | |||
| private float lastX; | |||
| @Override | |||
| public void onCreate(final Bundle savedInstanceState) { | |||
| super.onCreate(savedInstanceState); | |||
| setContentView(R.layout.rbs_main); | |||
| this.viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper); | |||
| this.scrollView = (ScrollView) findViewById(R.id.scrollView1); | |||
| this.scrollView.setOnTouchListener(new OnTouchListener() { | |||
| static final int MIN_DISTANCE = 50; | |||
| private float downX, downY, upX, upY; | |||
| @Override | |||
| public boolean onTouch(final View v, final MotionEvent event) { | |||
| switch (event.getAction()) { | |||
| case MotionEvent.ACTION_DOWN: { | |||
| this.downX = event.getX(); | |||
| this.downY = event.getY(); | |||
| } | |||
| case MotionEvent.ACTION_UP: { | |||
| this.upX = event.getX(); | |||
| this.upY = event.getY(); | |||
| float deltaX = this.upX - this.downX; | |||
| float deltaY = this.upY - this.downY; | |||
| // swipe from right to left ? | |||
| if (deltaX < 0 && Math.abs(deltaX) > MIN_DISTANCE && Math.abs(deltaY) < MIN_DISTANCE) { | |||
| // set the required Animation type to ViewFlipper | |||
| // The Next screen will come in form Right and current Screen will go OUT to Left | |||
| RBSMainActivity.this.viewFlipper.setInAnimation(RBSMainActivity.this, R.anim.in_from_right); | |||
| RBSMainActivity.this.viewFlipper.setOutAnimation(RBSMainActivity.this, R.anim.out_to_left); | |||
| // Show The Next Screen | |||
| RBSMainActivity.this.viewFlipper.showNext(); | |||
| } | |||
| } | |||
| } | |||
| return false; | |||
| } | |||
| }); | |||
| } | |||
| @Override | |||
| public boolean onCreateOptionsMenu(final Menu menu) { | |||
| getMenuInflater().inflate(R.menu.rbs_main, menu); | |||
| return true; | |||
| } | |||
| @Override | |||
| public boolean onTouchEvent(final MotionEvent touchevent) { | |||
| switch (touchevent.getAction()) { | |||
| // when user first touches the screen to swap | |||
| case MotionEvent.ACTION_DOWN: { | |||
| this.lastX = touchevent.getX(); | |||
| break; | |||
| } | |||
| case MotionEvent.ACTION_UP: { | |||
| float currentX = touchevent.getX(); | |||
| // if right to left swipe on screen | |||
| if (this.lastX > currentX) { | |||
| if (this.viewFlipper.getDisplayedChild() == 2) { | |||
| break; | |||
| } | |||
| // set the required Animation type to ViewFlipper | |||
| // The Next screen will come in form Right and current Screen will go OUT to Left | |||
| this.viewFlipper.setInAnimation(this, R.anim.in_from_right); | |||
| this.viewFlipper.setOutAnimation(this, R.anim.out_to_left); | |||
| // Show The Next Screen | |||
| this.viewFlipper.showNext(); | |||
| } else if (this.lastX < currentX) { // if left to right swipe on screen | |||
| // If no more View/Child to flip | |||
| if (this.viewFlipper.getDisplayedChild() == 0) { | |||
| break; | |||
| } | |||
| // set the required Animation type to ViewFlipper | |||
| // The Next screen will come in form Left and current Screen will go OUT to Right | |||
| this.viewFlipper.setInAnimation(this, R.anim.in_from_left); | |||
| this.viewFlipper.setOutAnimation(this, R.anim.out_to_right); | |||
| // Show the previous Screen | |||
| this.viewFlipper.showPrevious(); | |||
| } | |||
| break; | |||
| } | |||
| } | |||
| return false; | |||
| } | |||
| } | |||
| @@ -0,0 +1,78 @@ | |||
| /* | |||
| * $URL$ | |||
| * $Revision$ | |||
| * $LastChangedBy$ | |||
| * $LastChangedDate$ | |||
| * | |||
| * Copyright (c) 2011 spherIC, Switzerland | |||
| * All rights reserved. | |||
| * | |||
| * This software is the confidential and proprietary information | |||
| * of spherIC. ("Confidential Information"). You shall not | |||
| * disclose such Confidential Information and shall use it only | |||
| * in accordance with the terms of the license agreement you | |||
| * entered into with spherIC. | |||
| */ | |||
| package ch.spherIC.recurvebowsight.components; | |||
| import android.content.Context; | |||
| import android.util.AttributeSet; | |||
| import android.widget.Spinner; | |||
| /** | |||
| * XSpinner class with special functionality | |||
| */ | |||
| public class XSpinner extends Spinner { | |||
| /** | |||
| * Creates a new XSpinner object. | |||
| * | |||
| * @param context {@link Context} | |||
| */ | |||
| public XSpinner(Context context) { | |||
| super(context); | |||
| } | |||
| /** | |||
| * Creates a new XSpinner object. | |||
| * | |||
| * @param context {@link Context} | |||
| * @param attrs {@link AttributeSet} | |||
| */ | |||
| public XSpinner(Context context, AttributeSet attrs) { | |||
| super(context, attrs); | |||
| } | |||
| /** | |||
| * Creates a newXSpinner object. | |||
| * | |||
| * @param context {@link Context} | |||
| * @param attrs {@link AttributeSet} | |||
| * @param defStyle int | |||
| */ | |||
| public XSpinner(Context context, AttributeSet attrs, int defStyle) { | |||
| super(context, attrs, defStyle); | |||
| } | |||
| /** | |||
| * Sets the value of $param.name$ | |||
| * | |||
| * @param value DOCUMENT ME! | |||
| */ | |||
| public void setSelectionByVal(String value) { | |||
| int count = getAdapter().getCount(); | |||
| for (int i = 0; i < count; i++) { | |||
| if (getAdapter().getItem(i).toString().equals(value)) { | |||
| setSelection(i); | |||
| break; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,116 @@ | |||
| /* | |||
| * $URL$ | |||
| * $Revision$ | |||
| * $LastChangedBy$ | |||
| * $LastChangedDate$ | |||
| * | |||
| * Copyright (c) 2011 spherIC, Switzerland | |||
| * All rights reserved. | |||
| * | |||
| * This software is the confidential and proprietary information | |||
| * of spherIC. ("Confidential Information"). You shall not | |||
| * disclose such Confidential Information and shall use it only | |||
| * in accordance with the terms of the license agreement you | |||
| * entered into with spherIC. | |||
| */ | |||
| package ch.spherIC.recurvebowsight.components; | |||
| import android.content.Context; | |||
| import android.content.res.TypedArray; | |||
| import android.graphics.Canvas; | |||
| import android.graphics.Paint; | |||
| import android.graphics.Rect; | |||
| import android.util.AttributeSet; | |||
| import android.widget.TextView; | |||
| import net.spherIC.recurvebowsight.R; | |||
| /** | |||
| * DOCUMENT ME! | |||
| * | |||
| * @author $author$ | |||
| * @version $Revision$, $Date$ | |||
| */ | |||
| public class XTextView extends TextView { | |||
| private boolean drawborder; | |||
| private int drawborderColor; | |||
| private int drawborderWidth; | |||
| /** | |||
| * Creates a new XTextView object. | |||
| * | |||
| * @param context DOCUMENT ME! | |||
| */ | |||
| public XTextView(Context context) { | |||
| super(context); | |||
| } | |||
| /** | |||
| * Creates a new $class.name$ object. | |||
| * | |||
| * @param context DOCUMENT ME! | |||
| * @param attrs DOCUMENT ME! | |||
| * @param defStyle DOCUMENT ME! | |||
| */ | |||
| public XTextView(Context context, AttributeSet attrs, int defStyle) { | |||
| super(context, attrs, defStyle); | |||
| init(attrs); | |||
| } | |||
| /** | |||
| * Creates a new $class.name$ object. | |||
| * | |||
| * @param context DOCUMENT ME! | |||
| * @param attrs DOCUMENT ME! | |||
| */ | |||
| public XTextView(Context context, AttributeSet attrs) { | |||
| super(context, attrs); | |||
| init(attrs); | |||
| } | |||
| /** | |||
| * DOCUMENT ME! | |||
| * | |||
| * @param attrs DOCUMENT ME! | |||
| */ | |||
| private void init(AttributeSet attrs) { | |||
| TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.XTextView); | |||
| this.drawborder = a.getBoolean(R.styleable.XTextView_drawBorder, false); | |||
| this.drawborderColor = a.getColor(R.styleable.XTextView_drawBorderColor, 0xffff0000); | |||
| this.drawborderWidth = a.getDimensionPixelSize(R.styleable.XTextView_drawBorderWidth, 1); | |||
| if (this.drawborder) { | |||
| setPadding(getPaddingLeft() + this.drawborderWidth, getPaddingTop() + this.drawborderWidth, getPaddingRight() + this.drawborderWidth, | |||
| getPaddingBottom() + this.drawborderWidth); | |||
| } | |||
| } | |||
| /** | |||
| * @see android.widget.TextView#onDraw(android.graphics.Canvas) | |||
| */ | |||
| @Override | |||
| protected void onDraw(Canvas canvas) { | |||
| super.onDraw(canvas); | |||
| if (this.drawborder) { | |||
| Rect rect = new Rect(); | |||
| Paint paint = new Paint(); | |||
| paint.setStyle(Paint.Style.STROKE); | |||
| paint.setColor(this.drawborderColor); | |||
| paint.setStrokeWidth(this.drawborderWidth); | |||
| getLocalVisibleRect(rect); | |||
| rect.bottom -= 1; | |||
| rect.right -= 1; | |||
| canvas.drawRect(rect, paint); | |||
| } | |||
| } | |||
| } | |||