diff options
| author | koem <koem@petoria.de> | 2013-07-17 17:55:16 +0200 |
|---|---|---|
| committer | koem <koem@petoria.de> | 2013-07-20 12:48:59 +0200 |
| commit | dbdf47c772bb2d546f6bb8d028a597a0b8c4c9fe (patch) | |
| tree | d0aabd5e1ba1a3af384510191bed6530a4811ef1 | |
| parent | 8af7e6965a46ef46c628c164262b044fb271d263 (diff) | |
| download | cgeo-dbdf47c772bb2d546f6bb8d028a597a0b8c4c9fe.zip cgeo-dbdf47c772bb2d546f6bb8d028a597a0b8c4c9fe.tar.gz cgeo-dbdf47c772bb2d546f6bb8d028a597a0b8c4c9fe.tar.bz2 | |
InfoPreference now with Info Icon
http://i.imgur.com/3Z5IaG6.png
| -rw-r--r-- | main/project/settings/svgs/info_icon.svg | 68 | ||||
| -rw-r--r-- | main/res/drawable-mdpi/settings_info_icon_black.png | bin | 0 -> 590 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/settings_info_icon_white.png | bin | 0 -> 606 bytes | |||
| -rw-r--r-- | main/res/layout/preference_info_icon.xml | 5 | ||||
| -rw-r--r-- | main/res/values/attrs.xml | 1 | ||||
| -rw-r--r-- | main/res/values/themes.xml | 2 | ||||
| -rw-r--r-- | main/res/xml/preferences.xml | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/settings/InfoPreference.java | 18 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/settings/SettingsActivity.java | 9 |
9 files changed, 95 insertions, 10 deletions
diff --git a/main/project/settings/svgs/info_icon.svg b/main/project/settings/svgs/info_icon.svg new file mode 100644 index 0000000..df15b96 --- /dev/null +++ b/main/project/settings/svgs/info_icon.svg @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="754.28125" + height="754.28125" + id="svg2" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="info_icon.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#008a0c" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.89019608" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="775.69643" + inkscape:cy="441.44584" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="1317" + inkscape:window-height="744" + inkscape:window-x="49" + inkscape:window-y="24" + inkscape:window-maximized="1" + showguides="true" + inkscape:guide-bbox="true" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Ebene 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(1145.6964,123.33035)"> + <path + style="fill:#ffffff;fill-opacity:1;stroke:none" + d="m -397.15625,-380 c -208.29025,0 -377.125,168.83475 -377.125,377.125 0,208.29025 168.83475,377.15625 377.125,377.15625 C -188.866,374.28125 -20,205.41525 -20,-2.875 -20,-211.16525 -188.866,-380 -397.15625,-380 z m 0,114.28125 c 34.71504,0 62.875,28.12871 62.875,62.84375 0,34.71504 -28.15996,62.875 -62.875,62.875 -34.71504,0 -62.84375,-28.15996 -62.84375,-62.875 0,-34.71504 28.12871,-62.84375 62.84375,-62.84375 z M -460,-68.5625 l 125.71875,0 0,328.5625 -125.71875,0 0,-328.5625 z" + transform="translate(-371.41518,256.66965)" + id="path2984" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/main/res/drawable-mdpi/settings_info_icon_black.png b/main/res/drawable-mdpi/settings_info_icon_black.png Binary files differnew file mode 100644 index 0000000..f0e31af --- /dev/null +++ b/main/res/drawable-mdpi/settings_info_icon_black.png diff --git a/main/res/drawable-mdpi/settings_info_icon_white.png b/main/res/drawable-mdpi/settings_info_icon_white.png Binary files differnew file mode 100644 index 0000000..0fdca9d --- /dev/null +++ b/main/res/drawable-mdpi/settings_info_icon_white.png diff --git a/main/res/layout/preference_info_icon.xml b/main/res/layout/preference_info_icon.xml new file mode 100644 index 0000000..4de0a15 --- /dev/null +++ b/main/res/layout/preference_info_icon.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<ImageView xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:src="?attr/settings_info_icon" /> diff --git a/main/res/values/attrs.xml b/main/res/values/attrs.xml index 8c699b7..4a82255 100644 --- a/main/res/values/attrs.xml +++ b/main/res/values/attrs.xml @@ -37,6 +37,7 @@ <attr name="settings_nut" format="integer" /> <attr name="settings_pen" format="integer" /> <attr name="settings_sdcard" format="integer" /> + <attr name="settings_info_icon" format="integer" /> <!-- attributes for custom made preferences --> diff --git a/main/res/values/themes.xml b/main/res/values/themes.xml index 4813a21..69e6187 100644 --- a/main/res/values/themes.xml +++ b/main/res/values/themes.xml @@ -161,6 +161,7 @@ <item name="settings_nut">@drawable/settings_nut_white</item> <item name="settings_pen">@drawable/settings_pen_white</item> <item name="settings_sdcard">@drawable/settings_sdcard_white</item> + <item name="settings_info_icon">@drawable/settings_info_icon_white</item> </style> <style name="settings.light" parent="android:Theme.Light"> @@ -171,6 +172,7 @@ <item name="settings_nut">@drawable/settings_nut_black</item> <item name="settings_pen">@drawable/settings_pen_black</item> <item name="settings_sdcard">@drawable/settings_sdcard_black</item> + <item name="settings_info_icon">@drawable/settings_info_icon_black</item> </style> </resources>
\ No newline at end of file diff --git a/main/res/xml/preferences.xml b/main/res/xml/preferences.xml index b4a5366..8bbe8ad 100644 --- a/main/res/xml/preferences.xml +++ b/main/res/xml/preferences.xml @@ -41,7 +41,7 @@ android:text="@string/settings_info_facebook_login" cgeo:url="@string/settings_facebook_login_url" cgeo:urlButton="@string/settings_goto_url_button" /> - + </PreferenceCategory> <PreferenceCategory diff --git a/main/src/cgeo/geocaching/settings/InfoPreference.java b/main/src/cgeo/geocaching/settings/InfoPreference.java index 465cf12..ea740b4 100644 --- a/main/src/cgeo/geocaching/settings/InfoPreference.java +++ b/main/src/cgeo/geocaching/settings/InfoPreference.java @@ -2,6 +2,7 @@ package cgeo.geocaching.settings; import cgeo.geocaching.R; +import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; @@ -10,8 +11,11 @@ import android.content.res.TypedArray; import android.net.Uri; import android.preference.Preference; import android.util.AttributeSet; +import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.LinearLayout; public class InfoPreference extends Preference { @@ -20,6 +24,8 @@ public class InfoPreference extends Preference { private String url; private String urlButton; + private LayoutInflater inflater; + public InfoPreference(Context context) { super(context); init(context, null, 0); @@ -36,6 +42,8 @@ public class InfoPreference extends Preference { } private void init(Context context, AttributeSet attrs, int defStyle) { + inflater = ((Activity) context).getLayoutInflater(); + setPersistent(false); if (attrs == null) { @@ -85,7 +93,15 @@ public class InfoPreference extends Preference { } }); - return super.onCreateView(parent); + // show an Info Icon + View v = super.onCreateView(parent); + + ImageView i = (ImageView) inflater.inflate(R.layout.preference_info_icon, parent, false); + LinearLayout l = (LinearLayout) v.findViewById(android.R.id.widget_frame); + l.setVisibility(View.VISIBLE); + l.addView(i); + + return v; } } diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java index 23ae7bd..299290a 100644 --- a/main/src/cgeo/geocaching/settings/SettingsActivity.java +++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java @@ -89,17 +89,10 @@ public class SettingsActivity extends PreferenceActivity { @Override protected void onCreate(final Bundle savedInstanceState) { - - if (Settings.isLightSkin()) { - setTheme(R.style.settings_light); - } else { - setTheme(R.style.settings); - } - + setTheme(Settings.isLightSkin() ? R.style.settings_light : R.style.settings); super.onCreate(savedInstanceState); SettingsActivity.addPreferencesFromResource(this, R.xml.preferences); - initPreferences(); Intent intent = getIntent(); |
