diff options
author | Leon Scroggins <scroggo@google.com> | 2010-03-22 10:54:04 -0400 |
---|---|---|
committer | Leon Scroggins <scroggo@google.com> | 2010-03-22 10:54:04 -0400 |
commit | bf083d25e023ebebf9593dcb62ac413f28816584 (patch) | |
tree | 7074d4f124f4c392002077ce4c6b602a6fcdfe21 | |
parent | 3d8b70cc80a42ce1b7146aade2a4a0fca0b1eba2 (diff) | |
download | packages_apps_browser-bf083d25e023ebebf9593dcb62ac413f28816584.zip packages_apps_browser-bf083d25e023ebebf9593dcb62ac413f28816584.tar.gz packages_apps_browser-bf083d25e023ebebf9593dcb62ac413f28816584.tar.bz2 |
Show stop button in a pressed state when pressed.
Fix for http://b/issue?id=2533372
Change-Id: I9a614a95f5537d17c9cb89e96afe6c21fc56d59a
-rw-r--r-- | res/drawable/stop_background.xml | 25 | ||||
-rw-r--r-- | res/layout/title_bar.xml | 2 | ||||
-rw-r--r-- | src/com/android/browser/TitleBar.java | 15 |
3 files changed, 34 insertions, 8 deletions
diff --git a/res/drawable/stop_background.xml b/res/drawable/stop_background.xml new file mode 100644 index 0000000..a9a4dd4 --- /dev/null +++ b/res/drawable/stop_background.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 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. +--> + +<!-- Custom background for the stop button which mimics btn_search_dialog + but draws in a pressed state even if it is in an unfocused window --> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + + <item android:state_pressed="true" + android:drawable="@*android:drawable/btn_search_dialog_pressed" /> + <item android:state_pressed="false" + android:drawable="@*android:drawable/btn_search_dialog_default" /> +</selector> diff --git a/res/layout/title_bar.xml b/res/layout/title_bar.xml index 3765024..c251250 100644 --- a/res/layout/title_bar.xml +++ b/res/layout/title_bar.xml @@ -73,7 +73,7 @@ /> </LinearLayout> <ImageView android:id="@+id/stop" - android:background="@*android:drawable/btn_search_dialog" + android:background="@drawable/stop_background" android:layout_width="wrap_content" android:layout_height="match_parent" android:src="@drawable/ic_btn_stop_v2" diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/browser/TitleBar.java index ee6aa9c..0f19864 100644 --- a/src/com/android/browser/TitleBar.java +++ b/src/com/android/browser/TitleBar.java @@ -156,13 +156,14 @@ public class TitleBar extends LinearLayout { @Override public boolean onTouchEvent(MotionEvent event) { + ImageView button = mInLoad ? mStopButton : mRtButton; switch (event.getAction()) { case MotionEvent.ACTION_DOWN: // Make all touches hit either the textfield or the button, // depending on which side of the right edge of the textfield // they hit. if ((int) event.getX() > mTitleBg.getRight()) { - mRtButton.setPressed(true); + button.setPressed(true); } else { mTitleBg.setPressed(true); mHandler.sendMessageDelayed(mHandler.obtainMessage( @@ -178,7 +179,7 @@ public class TitleBar extends LinearLayout { // other is pressed. Since the user moved off the title // bar, mark both as not pressed. mTitleBg.setPressed(false); - mRtButton.setPressed(false); + button.setPressed(false); mHandler.removeMessages(LONG_PRESS); break; } @@ -187,17 +188,17 @@ public class TitleBar extends LinearLayout { if (mTitleBg.isPressed() && x > titleRight + slop) { mTitleBg.setPressed(false); mHandler.removeMessages(LONG_PRESS); - } else if (mRtButton.isPressed() && x < titleRight - slop) { - mRtButton.setPressed(false); + } else if (button.isPressed() && x < titleRight - slop) { + button.setPressed(false); } break; case MotionEvent.ACTION_CANCEL: - mRtButton.setPressed(false); + button.setPressed(false); mTitleBg.setPressed(false); mHandler.removeMessages(LONG_PRESS); break; case MotionEvent.ACTION_UP: - if (mRtButton.isPressed()) { + if (button.isPressed()) { if (mInVoiceMode) { if (mBrowserActivity.getTabControl().getCurrentTab() .voiceSearchSourceIsGoogle()) { @@ -213,7 +214,7 @@ public class TitleBar extends LinearLayout { } else { mBrowserActivity.bookmarksOrHistoryPicker(false); } - mRtButton.setPressed(false); + button.setPressed(false); } else if (mTitleBg.isPressed()) { mHandler.removeMessages(LONG_PRESS); if (mInVoiceMode) { |