diff --git a/app-android/res/drawable-hdpi/layout_bg.xml b/app-android/res/drawable-hdpi/layout_bg.xml new file mode 100644 index 0000000..cf1bf73 --- /dev/null +++ b/app-android/res/drawable-hdpi/layout_bg.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app-android/res/layout/activity_canvas.xml b/app-android/res/layout/activity_canvas.xml index 126b1ed..17b2a7e 100644 --- a/app-android/res/layout/activity_canvas.xml +++ b/app-android/res/layout/activity_canvas.xml @@ -12,6 +12,7 @@ android:layout_height="fill_parent" android:layout_alignParentRight="true" android:layout_alignParentTop="true" + android:background="@drawable/layout_bg" android:orientation="vertical" > diff --git a/app-android/src/at/bitfire/gfxtablet/CanvasActivity.java b/app-android/src/at/bitfire/gfxtablet/CanvasActivity.java index 3d3b54a..c0ff1d6 100644 --- a/app-android/src/at/bitfire/gfxtablet/CanvasActivity.java +++ b/app-android/src/at/bitfire/gfxtablet/CanvasActivity.java @@ -4,6 +4,7 @@ import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import android.graphics.drawable.GradientDrawable; import android.net.Uri; import android.os.Bundle; import android.preference.PreferenceManager; @@ -21,6 +22,8 @@ public class CanvasActivity extends Activity implements OnSharedPreferenceChange SharedPreferences settings; NetworkClient netClient; + LinearLayout layout; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -41,19 +44,23 @@ public class CanvasActivity extends Activity implements OnSharedPreferenceChange } setContentView(R.layout.activity_canvas); - LinearLayout layout = (LinearLayout)findViewById(R.id.canvas_layout); + layout = (LinearLayout)findViewById(R.id.canvas_layout); new Thread(netClient = new NetworkClient(PreferenceManager.getDefaultSharedPreferences(this))).start(); - + canvas = new CanvasView(this, netClient); layout.addView(canvas); + this.reconfigureLayout(); + this.reconfigureColor(); } @Override public void onSharedPreferenceChanged(SharedPreferences pref, String key) { if (key.equals(SettingsActivity.KEY_PREF_PADDING)) this.reconfigureLayout(); + else if (key.equals(SettingsActivity.KEY_PREF_DARKCANVAS)) + this.reconfigureColor(); } void reconfigureLayout() @@ -64,6 +71,16 @@ public class CanvasActivity extends Activity implements OnSharedPreferenceChange l.setPadding(p, p, p, p); } + void reconfigureColor() + { + GradientDrawable sd = (GradientDrawable) layout.getBackground().mutate(); + if (settings.getBoolean(SettingsActivity.KEY_PREF_DARKCANVAS, false)) + sd.setColor(0xFF263248); + else + sd.setColor(0xFF7E8AA2); + sd.invalidateSelf(); + } + @Override protected void onDestroy() { netClient.getQueue().add(new NetEvent(NetEvent.Type.TYPE_DISCONNECT)); diff --git a/app-android/src/at/bitfire/gfxtablet/CanvasView.java b/app-android/src/at/bitfire/gfxtablet/CanvasView.java index 96e7f11..7c4c6c6 100644 --- a/app-android/src/at/bitfire/gfxtablet/CanvasView.java +++ b/app-android/src/at/bitfire/gfxtablet/CanvasView.java @@ -1,10 +1,17 @@ package at.bitfire.gfxtablet; +import org.xmlpull.v1.XmlPullParser; + import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import android.graphics.Color; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.GradientDrawable; +import android.graphics.drawable.LayerDrawable; +import android.graphics.drawable.ShapeDrawable; import android.os.AsyncTask; import android.preference.PreferenceManager; import android.view.MotionEvent; @@ -30,7 +37,7 @@ public class CanvasView extends View implements OnSharedPreferenceChangeListener reconfigureAcceptedInputDevices(); - this.reconfigureLayout(); + //this.reconfigureLayout(); this.netClient = netClient; new ConfigureNetworkingTask().execute(); } @@ -41,17 +48,8 @@ public class CanvasView extends View implements OnSharedPreferenceChangeListener new ConfigureNetworkingTask().execute(); else if (key.equals(SettingsActivity.KEY_PREF_STYLUS_ONLY)) this.reconfigureAcceptedInputDevices(); - else if (key.equals(SettingsActivity.KEY_PREF_DARKCANVAS)) - this.reconfigureLayout(); } - void reconfigureLayout() - { - if (settings.getBoolean(SettingsActivity.KEY_PREF_DARKCANVAS, false)) - setBackgroundColor(0xFF2E2E2E); - else - setBackgroundColor(0xFFD0D0D0); - } void reconfigureAcceptedInputDevices() { acceptStylusOnly = settings.getBoolean(SettingsActivity.KEY_PREF_STYLUS_ONLY, false); diff --git a/app-android/src/at/bitfire/gfxtablet/SettingsActivity.java b/app-android/src/at/bitfire/gfxtablet/SettingsActivity.java index 2c35aad..9f588cc 100644 --- a/app-android/src/at/bitfire/gfxtablet/SettingsActivity.java +++ b/app-android/src/at/bitfire/gfxtablet/SettingsActivity.java @@ -32,7 +32,7 @@ public class SettingsActivity extends PreferenceActivity implements OnSharedPref PreferenceManager.getDefaultSharedPreferences(this) .registerOnSharedPreferenceChangeListener(this); } - + @Override public void onBuildHeaders(List
target) { loadHeadersFromResource(R.xml.preference_headers, target);