Fixed styles. Now correctly themeable.

This commit is contained in:
Zukero
2017-11-18 00:06:24 +01:00
parent df81e96a08
commit d81ed7a6b5
16 changed files with 134 additions and 127 deletions

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_pressed="true" android:color="@color/ui_blue_palette_text_gray_light"/>
<item android:state_enabled="true" android:state_checked="true" android:color="@color/ui_blue_palette_text_gray_light"/>
<item android:state_enabled="true" android:color="@color/ui_blue_palette_text_gray_mid"/>
<item android:state_enabled="false" android:color="@color/ui_blue_palette_text_gray_darker"/>
<item android:color="@color/ui_blue_palette_text_gray_mid"/>
</selector>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_pressed="true" android:color="?attr/ui_theme_palette_text_gray_light_color"/>
<item android:state_enabled="true" android:state_checked="true" android:color="?attr/ui_theme_palette_text_gray_light_color"/>
<item android:state_enabled="true" android:color="?attr/ui_theme_palette_text_gray_mid_color"/>
<item android:state_enabled="false" android:color="?attr/ui_theme_palette_text_gray_darker_color"/>
<item android:color="?attr/ui_theme_palette_text_gray_mid_color"/>
</selector>

View File

@@ -44,7 +44,7 @@
android:id="@+id/displayworldmap_webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/displayworldmap_background"
android:background="?attr/ui_theme_displayworldmap_bg_color"
/>
</LinearLayout>

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- ALIASES -->
<color name="ui_theme_stdframe_bg">?attr/ui_theme_palette_blue_dark_color</color>
<color name="ui_theme_buttonbar_bg">?attr/ui_theme_palette_blue_mid_color</color>
<color name="displayworldmap_background">@color/ui_theme_stdframe_bg</color>
<!-- Player name in convo -->
<color name="ui_theme_playername_dark">?attr/ui_theme_palette_orange_dark_color</color>
<color name="ui_theme_playername_light">?attr/ui_theme_palette_orange_light_color</color>
<!-- NPC name in convo -->
<color name="ui_theme_npcname_dark">?attr/ui_theme_palette_mustard_dark_color</color>
<color name="ui_theme_npcname_light">?attr/ui_theme_palette_mustard_light_color</color>
<!-- Rewards in convo -->
<color name="ui_theme_reward_dark">?attr/ui_theme_palette_cyan_dark_color</color>
<color name="ui_theme_reward_light">?attr/ui_theme_palette_cyan_light_color</color>
<!-- Actual dialogue text in convo -->
<color name="ui_theme_dialogue_dark">?attr/ui_theme_palette_text_gray_mid_color</color>
<color name="ui_theme_dialogue_light">?attr/ui_theme_palette_text_gray_light_color</color>
</resources>

View File

@@ -23,6 +23,13 @@
<item name="android:scrollHorizontally">true</item>
</style>
<style name="AndorsTrail_Style_TextButton_Quickslots" parent="android:style/Widget.Button">
<item name="android:background">?attr/ui_theme_textbutton_drawable</item>
<item name="android:textColor">?attr/ui_theme_textbutton_textcolor_color</item>
<item name="android:paddingTop">2dp</item>
<item name="android:paddingBottom">2dp</item>
</style>
<style name="AndorsTrail_Style_TextButton" parent="AndorsTrail_Style_TextButton_Base" />
<style name="AndorsTrail_Style_ImageButton" parent="android:style/Widget.ImageButton">

View File

@@ -9,6 +9,7 @@
<item name="android:listViewStyle">@style/AndorsTrail_Style_ListView</item>
<item name="android:expandableListViewStyle">@style/AndorsTrail_Style_ExpandableListView</item>
<item name="android:listSeparatorTextViewStyle">@style/AndorsTrail_Style_PreferencesListHeader</item>
<item name="buttonQuickslotsButtonStyle">@style/AndorsTrail_Style_TextButton_Quickslots</item>
<!-- XML drawables -->
<item name="ui_theme_buttonbar_bg_drawable">@drawable/ui_blue_buttonbar_bg</item>
<item name="ui_theme_buttonbar_drawable">@drawable/ui_blue_buttonbar</item>
@@ -59,24 +60,25 @@
<item name="ui_theme_textbutton_enabled_pressed_bitmap">@drawable/ui_blue_textbutton_enabled_pressed</item>
<item name="ui_theme_textbutton_enabled_unpressed_bitmap">@drawable/ui_blue_textbutton_enabled_unpressed</item>
<!-- Color palette -->
<item name="ui_theme_dialogue_dark_color">@color/ui_theme_dialogue_dark</item>
<item name="ui_theme_dialogue_light_color">@color/ui_theme_dialogue_light</item>
<item name="ui_theme_npcname_dark_color">@color/ui_theme_npcname_dark</item>
<item name="ui_theme_palette_blue_dark_color">@color/ui_blue_palette_blue_dark</item>
<item name="ui_theme_palette_blue_mid_color">@color/ui_blue_palette_blue_mid</item>
<item name="ui_theme_palette_cyan_dark_color">@color/ui_blue_palette_cyan_dark</item>
<item name="ui_theme_palette_cyan_light_color">@color/ui_blue_palette_cyan_light</item>
<item name="ui_theme_palette_mustard_dark_color">@color/ui_blue_palette_mustard_dark</item>
<item name="ui_theme_palette_mustard_light_color">@color/ui_blue_palette_mustard_light</item>
<item name="ui_theme_palette_orange_dark_color">@color/ui_blue_palette_orange_dark</item>
<item name="ui_theme_palette_orange_light_color">@color/ui_blue_palette_orange_light</item>
<item name="ui_theme_palette_text_gray_darker_color">@color/ui_blue_palette_text_gray_darker</item>
<item name="ui_theme_stdframe_bg_color">@color/ui_blue_palette_blue_mid</item>
<item name="ui_theme_buttonbar_bg_color">@color/ui_blue_palette_blue_mid</item>
<item name="ui_theme_displayworldmap_bg_color">@color/ui_blue_palette_blue_mid</item>
<item name="ui_theme_palette_text_gray_darker_color">@color/ui_blue_palette_text_gray_darker</item>
<item name="ui_theme_palette_text_gray_light_color">@color/ui_blue_palette_text_gray_light</item>
<item name="ui_theme_palette_text_gray_mid_color">@color/ui_blue_palette_text_gray_mid</item>
<item name="ui_theme_playername_light_color">@color/ui_theme_playername_light</item>
<item name="ui_theme_reward_light_color">@color/ui_theme_reward_light</item>
<item name="ui_theme_stdframe_bg_color">@color/ui_theme_stdframe_bg</item>
<item name="ui_theme_textbutton_textcolor_color">@color/ui_theme_textbutton_textcolor</item>
<item name="ui_theme_textbutton_textcolor_color">@color/ui_blue_textbutton_textcolor</item>
<!-- Player name in convo -->
<item name="ui_theme_playername_dark_color">@color/ui_blue_palette_orange_dark</item>
<item name="ui_theme_playername_light_color">@color/ui_blue_palette_orange_light</item>
<!-- NPC name in convo -->
<item name="ui_theme_npcname_dark_color">@color/ui_blue_palette_mustard_dark</item>
<item name="ui_theme_npcname_light_color">@color/ui_blue_palette_mustard_light</item>
<!-- Rewards in convo -->
<item name="ui_theme_reward_dark_color">@color/ui_blue_palette_cyan_dark</item>
<item name="ui_theme_reward_light_color">@color/ui_blue_palette_cyan_light</item>
<!-- Actual dialogue text in convo -->
<item name="ui_theme_dialogue_dark_color">@color/ui_blue_palette_text_gray_mid</item>
<item name="ui_theme_dialogue_light_color">@color/ui_blue_palette_text_gray_light</item>
</style>
<style name="AndorsTrailDialogTheme_Base" parent="android:Theme.Dialog">
@@ -90,6 +92,7 @@
<item name="android:listViewStyle">@style/AndorsTrail_Style_ListView</item>
<item name="android:expandableListViewStyle">@style/AndorsTrail_Style_ExpandableListView</item>
<item name="android:listSeparatorTextViewStyle">@style/AndorsTrail_Style_PreferencesListHeader</item>
<item name="buttonQuickslotsButtonStyle">@style/AndorsTrail_Style_TextButton_Quickslots</item>
<!-- XML drawables -->
<item name="ui_theme_buttonbar_bg_drawable">@drawable/ui_blue_buttonbar_bg</item>
@@ -141,29 +144,29 @@
<item name="ui_theme_textbutton_enabled_pressed_bitmap">@drawable/ui_blue_textbutton_enabled_pressed</item>
<item name="ui_theme_textbutton_enabled_unpressed_bitmap">@drawable/ui_blue_textbutton_enabled_unpressed</item>
<!-- Color palette -->
<item name="ui_theme_palette_blue_dark_color">@color/ui_blue_palette_blue_dark</item>
<item name="ui_theme_palette_blue_mid_color">@color/ui_blue_palette_blue_mid</item>
<item name="ui_theme_palette_cyan_dark_color">@color/ui_blue_palette_cyan_dark</item>
<item name="ui_theme_palette_cyan_light_color">@color/ui_blue_palette_cyan_light</item>
<item name="ui_theme_palette_mustard_dark_color">@color/ui_blue_palette_mustard_dark</item>
<item name="ui_theme_palette_mustard_light_color">@color/ui_blue_palette_mustard_light</item>
<item name="ui_theme_palette_orange_dark_color">@color/ui_blue_palette_orange_dark</item>
<item name="ui_theme_palette_orange_light_color">@color/ui_blue_palette_orange_light</item>
<item name="ui_theme_palette_text_gray_darker_color">@color/ui_blue_palette_text_gray_darker</item>
<item name="ui_theme_stdframe_bg_color">@color/ui_blue_palette_blue_mid</item>
<item name="ui_theme_buttonbar_bg_color">@color/ui_blue_palette_blue_mid</item>
<item name="ui_theme_displayworldmap_bg_color">@color/ui_blue_palette_blue_mid</item>
<item name="ui_theme_palette_text_gray_darker_color">@color/ui_blue_palette_text_gray_darker</item>
<item name="ui_theme_palette_text_gray_light_color">@color/ui_blue_palette_text_gray_light</item>
<item name="ui_theme_palette_text_gray_mid_color">@color/ui_blue_palette_text_gray_mid</item>
<!-- Color Aliases -->
<item name="ui_theme_dialogue_dark_color">@color/ui_theme_dialogue_dark</item>
<item name="ui_theme_dialogue_light_color">@color/ui_theme_dialogue_light</item>
<item name="ui_theme_npcname_dark_color">@color/ui_theme_npcname_dark</item>
<item name="ui_theme_playername_light_color">@color/ui_theme_playername_light</item>
<item name="ui_theme_reward_light_color">@color/ui_theme_reward_light</item>
<item name="ui_theme_stdframe_bg_color">@color/ui_theme_stdframe_bg</item>
<item name="ui_theme_textbutton_textcolor_color">@color/ui_theme_textbutton_textcolor</item>
<item name="ui_theme_textbutton_textcolor_color">@color/ui_blue_textbutton_textcolor</item>
<!-- Player name in convo -->
<item name="ui_theme_playername_dark_color">@color/ui_blue_palette_orange_dark</item>
<item name="ui_theme_playername_light_color">@color/ui_blue_palette_orange_light</item>
<!-- NPC name in convo -->
<item name="ui_theme_npcname_dark_color">@color/ui_blue_palette_mustard_dark</item>
<item name="ui_theme_npcname_light_color">@color/ui_blue_palette_mustard_light</item>
<!-- Rewards in convo -->
<item name="ui_theme_reward_dark_color">@color/ui_blue_palette_cyan_dark</item>
<item name="ui_theme_reward_light_color">@color/ui_blue_palette_cyan_light</item>
<!-- Actual dialogue text in convo -->
<item name="ui_theme_dialogue_dark_color">@color/ui_blue_palette_text_gray_mid</item>
<item name="ui_theme_dialogue_light_color">@color/ui_blue_palette_text_gray_light</item>
</style>
<!-- PALETTE -->
<!-- ui_blue concrete palette -->
<!-- Backgrounds -->
<color name="ui_blue_palette_blue_dark">#122438</color>
@@ -188,9 +191,6 @@
<color name="ui_blue_palette_cyan_dark">#1e8f9c</color>
<color name="ui_blue_palette_cyan_light">#5ee3f1</color>
<!-- Wrappers -->
<style name="AndorsTrailTheme_Blue" parent="AndorsTrailStyle_Base" />

View File

@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Styles -->
<attr name="buttonQuickslotsButtonStyle" format="reference" />
<!-- XML drawables -->
<attr name="ui_theme_buttonbar_bg_drawable" format="reference" />
<attr name="ui_theme_buttonbar_drawable" format="reference" />
@@ -54,23 +56,20 @@
<attr name="ui_theme_textbutton_enabled_unpressed_bitmap" format="reference" />
<!-- Color palette -->
<attr name="ui_theme_dialogue_dark_color" format="reference" />
<attr name="ui_theme_dialogue_light_color" format="reference" />
<attr name="ui_theme_npcname_dark_color" format="reference" />
<attr name="ui_theme_palette_blue_dark_color" format="reference" />
<attr name="ui_theme_palette_blue_mid_color" format="reference" />
<attr name="ui_theme_palette_cyan_dark_color" format="reference" />
<attr name="ui_theme_palette_cyan_light_color" format="reference" />
<attr name="ui_theme_palette_mustard_dark_color" format="reference" />
<attr name="ui_theme_palette_mustard_light_color" format="reference" />
<attr name="ui_theme_palette_orange_dark_color" format="reference" />
<attr name="ui_theme_palette_orange_light_color" format="reference" />
<attr name="ui_theme_stdframe_bg_color" format="reference" />
<attr name="ui_theme_buttonbar_bg_color" format="reference" />
<attr name="ui_theme_displayworldmap_bg_color" format="reference" />
<attr name="ui_theme_palette_text_gray_darker_color" format="reference" />
<attr name="ui_theme_palette_text_gray_light_color" format="reference" />
<attr name="ui_theme_palette_text_gray_mid_color" format="reference" />
<attr name="ui_theme_playername_light_color" format="reference" />
<attr name="ui_theme_reward_light_color" format="reference" />
<attr name="ui_theme_stdframe_bg_color" format="reference" />
<attr name="ui_theme_textbutton_textcolor_color" format="reference" />
<attr name="ui_theme_playername_dark_color" format="reference" />
<attr name="ui_theme_playername_light_color" format="reference" />
<attr name="ui_theme_npcname_dark_color" format="reference" />
<attr name="ui_theme_npcname_light_color" format="reference" />
<attr name="ui_theme_reward_dark_color" format="reference" />
<attr name="ui_theme_reward_light_color" format="reference" />
<attr name="ui_theme_dialogue_dark_color" format="reference" />
<attr name="ui_theme_dialogue_light_color" format="reference" />
</resources>

View File

@@ -41,6 +41,7 @@ import com.gpl.rpg.AndorsTrail.model.item.Inventory;
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
import com.gpl.rpg.AndorsTrail.model.item.Loot;
import com.gpl.rpg.AndorsTrail.model.map.MapObject;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory;
import com.gpl.rpg.AndorsTrail.view.ItemContainerAdapter;
@@ -224,12 +225,14 @@ public final class Dialogs {
}
});
CustomDialogFactory.addButton(d, R.string.dialog_loot_pickall, new View.OnClickListener() {
@Override
public void onClick(View v) {
controllers.itemController.pickupAll(lootBags);
}
});
if (!itemList.getAdapter().isEmpty()) {
CustomDialogFactory.addButton(d, R.string.dialog_loot_pickall, new View.OnClickListener() {
@Override
public void onClick(View v) {
controllers.itemController.pickupAll(lootBags);
}
});
}
CustomDialogFactory.addDismissButton(d, R.string.dialog_close);
@@ -396,7 +399,7 @@ public final class Dialogs {
itemList.setStackFromBottom(true);
itemList.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
itemList.setChoiceMode(ListView.CHOICE_MODE_NONE);
itemList.setBackgroundResource(R.color.ui_theme_stdframe_bg);
itemList.setBackgroundColor(ThemeHelper.getThemeColor(context, R.attr.ui_theme_stdframe_bg_color));
if (combatLogMessages.length <= 0) {
combatLogMessages = new String[] {context.getResources().getString(R.string.combat_log_noentries)};
}

View File

@@ -43,6 +43,7 @@ import com.gpl.rpg.AndorsTrail.model.quest.Quest;
import com.gpl.rpg.AndorsTrail.model.quest.QuestLogEntry;
import com.gpl.rpg.AndorsTrail.model.quest.QuestProgress;
import com.gpl.rpg.AndorsTrail.resource.tiles.TileManager;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
public final class ConversationActivity
extends Activity
@@ -231,14 +232,14 @@ public final class ConversationActivity
while(numberOfNewMessage != 0){
ConversationStatement conversation = conversationHistory.get(numberOfMessage - numberOfNewMessage);
if(conversation.hasActor()){
conversation.textColor = getSpanColor(R.color.ui_theme_dialogue_dark);
conversation.textColor = getSpanColor(R.attr.ui_theme_dialogue_dark_color);
if(conversation.isPlayerActor){
conversation.nameColor = getSpanColor(R.color.ui_theme_playername_light);
conversation.nameColor = getSpanColor(R.attr.ui_theme_playername_light_color);
} else {
conversation.nameColor = getSpanColor(R.color.ui_theme_npcname_dark);
conversation.nameColor = getSpanColor(R.attr.ui_theme_npcname_dark_color);
}
}else{
conversation.textColor = getSpanColor(R.color.ui_theme_reward_light);
conversation.textColor = getSpanColor(R.attr.ui_theme_reward_light_color);
}
numberOfNewMessage--;
}
@@ -254,7 +255,7 @@ public final class ConversationActivity
} else {
if (rb == null) return;
Reply r = (Reply) rb.getTag();
addConversationStatement(player, rb.getText().toString(), getSpanColor(R.color.ui_theme_dialogue_light));
addConversationStatement(player, rb.getText().toString(), getSpanColor(R.attr.ui_theme_dialogue_light_color));
conversationState.playerSelectedReply(getResources(), r);
}
}
@@ -268,7 +269,7 @@ public final class ConversationActivity
s.iconID = ConversationStatement.NO_ICON;
}
s.text = text;
s.nameColor = actor == player ? getSpanColor(R.color.ui_theme_playername_light) : getSpanColor(R.color.ui_theme_npcname_light);
s.nameColor = actor == player ? getSpanColor(R.attr.ui_theme_playername_light_color) : getSpanColor(R.attr.ui_theme_npcname_light_color);
s.textColor = textColor;
s.isPlayerActor = actor != null && actor == player;
conversationHistory.add(s);
@@ -389,7 +390,7 @@ public final class ConversationActivity
@Override
public void onTextPhraseReached(String message, Actor actor, String phraseID) {
addConversationStatement(actor, message, getSpanColor(R.color.ui_theme_dialogue_light));
addConversationStatement(actor, message, getSpanColor(R.attr.ui_theme_dialogue_light_color));
}
@Override
@@ -425,7 +426,7 @@ public final class ConversationActivity
}
private void addRewardMessage(String text) {
addConversationStatement(null, text, getSpanColor(R.color.ui_theme_reward_light));
addConversationStatement(null, text, getSpanColor(R.attr.ui_theme_reward_light_color));
}
@Override
@@ -480,6 +481,6 @@ public final class ConversationActivity
}
private int getSpanColor(int resId) {
return getResources().getColor(resId);
return ThemeHelper.getThemeColor(this, resId);
}
}

View File

@@ -9,6 +9,7 @@ import com.gpl.rpg.AndorsTrail.controller.WorldMapController;
import com.gpl.rpg.AndorsTrail.model.map.WorldMapSegment;
import com.gpl.rpg.AndorsTrail.model.map.WorldMapSegment.WorldMapSegmentMap;
import com.gpl.rpg.AndorsTrail.util.L;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
import android.annotation.SuppressLint;
import android.app.Activity;
@@ -41,7 +42,7 @@ public final class DisplayWorldMapActivity extends Activity {
setContentView(R.layout.displayworldmap);
displayworldmap_webview = (WebView) findViewById(R.id.displayworldmap_webview);
displayworldmap_webview.setBackgroundColor(getResources().getColor(R.color.displayworldmap_background));
displayworldmap_webview.setBackgroundColor(ThemeHelper.getThemeColor(this, R.attr.ui_theme_displayworldmap_bg_color));
displayworldmap_webview.getSettings().setBuiltInZoomControls(true);
displayworldmap_webview.getSettings().setUseWideViewPort(true);
enableJavascript();
@@ -98,7 +99,7 @@ public final class DisplayWorldMapActivity extends Activity {
+ (world.model.player.position.y + map.worldPosition.y-1) * WorldMapController.WORLDMAP_DISPLAY_TILESIZE;
L.log("Showing " + url);
displayworldmap_webview.loadUrl(url);
displayworldmap_webview.setBackgroundColor(getResources().getColor(R.color.displayworldmap_background));
displayworldmap_webview.setBackgroundColor(ThemeHelper.getThemeColor(this, R.attr.ui_theme_displayworldmap_bg_color));
displayworldmap_webview.setWebViewClient(new WebViewClient() {
@SuppressLint("NewApi")
@Override

View File

@@ -4,6 +4,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
@@ -34,6 +35,7 @@ import com.gpl.rpg.AndorsTrail.model.map.MonsterSpawnArea;
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
import com.gpl.rpg.AndorsTrail.model.map.TMXMapTranslator;
import com.gpl.rpg.AndorsTrail.util.L;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
public final class TileManager {
@@ -234,8 +236,8 @@ public final class TileManager {
public void setImageViewTileForMonster(Resources res, ImageView imageView, int iconID) { setImageViewTile(res, imageView, currentMapTiles.getBitmap(iconID)); }
public void setImageViewTileForPlayer(Resources res, ImageView imageView, int iconID) { setImageViewTile(res, imageView, preloadedTiles.getBitmap(iconID)); }
// public void setImageViewTile(Resources res, ImageView imageView, ActorConditionType conditionType) { setImageViewTile(res, imageView, preloadedTiles.getBitmap(conditionType.iconID)); }
public void setImageViewTile(Resources res, ImageView imageView, ActorConditionType conditionType, boolean immunityOverlay) { setImageViewTile(res, imageView, preloadedTiles.getBitmap(conditionType.iconID), immunityOverlay); }
public void setImageViewTile(Resources res, ImageView imageView, ActorConditionType conditionType, boolean immunityOverlay, String exponent, String index) { setImageViewTile(res, imageView, preloadedTiles.getBitmap(conditionType.iconID), immunityOverlay, exponent, index); }
public void setImageViewTile(Context ctx, ImageView imageView, ActorConditionType conditionType, boolean immunityOverlay) { setImageViewTile(ctx, imageView, preloadedTiles.getBitmap(conditionType.iconID), immunityOverlay); }
public void setImageViewTile(Context ctx, ImageView imageView, ActorConditionType conditionType, boolean immunityOverlay, String exponent, String index) { setImageViewTile(ctx, imageView, preloadedTiles.getBitmap(conditionType.iconID), immunityOverlay, exponent, index); }
public void setImageViewTileForUIIcon(Resources res, ImageView imageView, int iconID) { setImageViewTile(res, imageView, preloadedTiles.getBitmap(iconID)); }
public void setImageViewTile(Resources res, ImageView imageView, Bitmap b) {
if (density > 1) {
@@ -244,11 +246,11 @@ public final class TileManager {
setImageViewTile(imageView, new BitmapDrawable(res, b));
}
}
public void setImageViewTile(Resources res, ImageView imageView, Bitmap b, boolean immunityOverlay) {
setImageViewTile(res, imageView, b, immunityOverlay, null, null);
public void setImageViewTile(Context ctx, ImageView imageView, Bitmap b, boolean immunityOverlay) {
setImageViewTile(ctx, imageView, b, immunityOverlay, null, null);
}
public void setImageViewTile(Resources res, ImageView imageView, Bitmap b, boolean immunityOverlay, String exponent, String index) {
if (!immunityOverlay && exponent == null && index == null) setImageViewTile(res, imageView, b);
public void setImageViewTile(Context ctx, ImageView imageView, Bitmap b, boolean immunityOverlay, String exponent, String index) {
if (!immunityOverlay && exponent == null && index == null) setImageViewTile(ctx.getResources(), imageView, b);
else {
Drawable[] layers = new Drawable[1+
(immunityOverlay ? 1 : 0)+
@@ -257,22 +259,22 @@ public final class TileManager {
int tileWidth;
if (density > 1) {
tileWidth = (int)(tileSize*density);
layers[0] = new BitmapDrawable(res, Bitmap.createScaledBitmap(b, tileWidth, tileWidth, true));
layers[0] = new BitmapDrawable(ctx.getResources(), Bitmap.createScaledBitmap(b, tileWidth, tileWidth, true));
} else {
tileWidth = tileSize;
layers[0] = new BitmapDrawable(res, b);
layers[0] = new BitmapDrawable(ctx.getResources(), b);
}
int nextIndex = 1;
if (immunityOverlay) {
layers[nextIndex] = new BitmapDrawable(res, preloadedTiles.getBitmap(iconID_immunity_overlay));
layers[nextIndex] = new BitmapDrawable(ctx.getResources(), preloadedTiles.getBitmap(iconID_immunity_overlay));
nextIndex++;
}
if (exponent != null) {
layers[nextIndex] = new TextDrawable(res, tileWidth, tileWidth, exponent, TextDrawable.Align.TOP_RIGHT);
layers[nextIndex] = new TextDrawable(ctx, tileWidth, tileWidth, exponent, TextDrawable.Align.TOP_RIGHT);
nextIndex++;
}
if (index != null) {
layers[nextIndex] = new TextDrawable(res, tileWidth, tileWidth, index, TextDrawable.Align.BOTTOM_RIGHT);
layers[nextIndex] = new TextDrawable(ctx, tileWidth, tileWidth, index, TextDrawable.Align.BOTTOM_RIGHT);
nextIndex++;
}
LayerDrawable layered = new LayerDrawable(layers);
@@ -410,43 +412,43 @@ public final class TileManager {
BOTTOM_RIGHT
}
public TextDrawable(Resources res, int cWidth, int cHeight, String text, Align align, int size) {
public TextDrawable(Context ctx, int cWidth, int cHeight, String text, Align align, int size) {
this.text= text;
this.align = align;
this.size = size;
this.cWidth = cWidth;
this.cHeight = cHeight;
init(res);
init(ctx);
}
public TextDrawable(Resources res, int cWidth, int cHeight, String text, Align align) {
public TextDrawable(Context ctx, int cWidth, int cHeight, String text, Align align) {
this.text= text;
this.align = align;
this.cWidth = cWidth;
this.cHeight = cHeight;
init(res);
init(ctx);
}
public TextDrawable(Resources res, int cWidth, int cHeight, String text) {
public TextDrawable(Context ctx, int cWidth, int cHeight, String text) {
this.text= text;
this.cWidth = cWidth;
this.cHeight = cHeight;
init(res);
init(ctx);
}
public void init(Resources res) {
public void init(Context ctx) {
mFillPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mFillPaint.setColor(res.getColor(R.color.ui_theme_dialogue_light));
mFillPaint.setColor(ThemeHelper.getThemeColor(ctx, R.attr.ui_theme_dialogue_light_color));
// mFillPaint.setShadowLayer(5f * res.getDisplayMetrics().scaledDensity, 1, 1, res.getColor(android.R.color.black));
mFillPaint.setStyle(Paint.Style.FILL);
mFillPaint.setTextSize(size * res.getDisplayMetrics().scaledDensity);
mFillPaint.setTextSize(size * ctx.getResources().getDisplayMetrics().scaledDensity);
textBounds = new Rect();
mFillPaint.getTextBounds(text, 0, text.length(), textBounds);
mStrokePaint=new Paint(mFillPaint);
// mStrokePaint.setStyle(Paint.Style.FILL);
// mStrokePaint.setStrokeWidth(1f * res.getDisplayMetrics().scaledDensity);
mStrokePaint.setColor(res.getColor(R.color.ui_theme_buttonbar_bg));
mStrokePaint.setColor(ThemeHelper.getThemeColor(ctx, R.attr.ui_theme_buttonbar_bg_color));
}

View File

@@ -0,0 +1,15 @@
package com.gpl.rpg.AndorsTrail.util;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color;
public class ThemeHelper {
public static int getThemeColor(Context context, int attrResId) {
TypedArray ta = context.getTheme().obtainStyledAttributes(new int[] {attrResId});
int c = ta.getColor(0, Color.BLACK);
ta.recycle();
return c;
}
}

View File

@@ -206,8 +206,8 @@ public final class CombatView extends RelativeLayout implements CombatSelectionL
return;
}
if (currentMonster.conditions.size()+currentMonster.immunities.size() > 0) {
if (currentMonster.conditions.size() > 0) world.tileManager.setImageViewTile(res, monsterConditionsButton, currentMonster.conditions.get(0).conditionType, false, Integer.toString(currentMonster.conditions.size()+currentMonster.immunities.size()), null);
else world.tileManager.setImageViewTile(res, monsterConditionsButton, currentMonster.immunities.get(0).conditionType, true, Integer.toString(currentMonster.conditions.size()+currentMonster.immunities.size()), null);
if (currentMonster.conditions.size() > 0) world.tileManager.setImageViewTile(getContext(), monsterConditionsButton, currentMonster.conditions.get(0).conditionType, false, Integer.toString(currentMonster.conditions.size()+currentMonster.immunities.size()), null);
else world.tileManager.setImageViewTile(getContext(), monsterConditionsButton, currentMonster.immunities.get(0).conditionType, true, Integer.toString(currentMonster.conditions.size()+currentMonster.immunities.size()), null);
showConditionsButton();
if (conditionsBarToggled) showConditionsBar();
} else {

View File

@@ -18,6 +18,7 @@ import android.widget.TextView;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.R;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
public class CustomDialogFactory {
@@ -115,7 +116,7 @@ public class CustomDialogFactory {
b.setLayoutParams(params);
//Old android versions need this "reminder"
b.setBackgroundDrawable(dialog.getContext().getResources().getDrawable(R.drawable.ui_blue_textbutton));
b.setTextColor(dialog.getContext().getResources().getColor(R.color.ui_theme_dialogue_light));
b.setTextColor(ThemeHelper.getThemeColor(dialog.getContext(), R.attr.ui_theme_dialogue_light_color));
b.setText(textId);
b.setOnClickListener(new OnClickListener() {

View File

@@ -294,7 +294,7 @@ public final class DisplayActiveActorConditionIcons implements ActorConditionLis
} else {
duration = Integer.toString(condition.duration);
}
tileManager.setImageViewTile(res, image, condition.conditionType, immunity, magnitude, duration);
tileManager.setImageViewTile(DisplayActiveActorConditionIcons.this.androidContext.get(), image, condition.conditionType, immunity, magnitude, duration);
}

View File

@@ -27,7 +27,7 @@ public final class QuickButton extends Button {
private final int textPadding;
public QuickButton(Context context, AttributeSet attrs) {
super(context, attrs);
super(context, attrs, R.attr.buttonQuickslotsButtonStyle);
menuInfo = new QuickButtonContextMenuInfo();
textPadding = getResources().getDimensionPixelSize(R.dimen.boxshape_margin);
}