android:layout_width="0dip"
android:layout_weight="1.0"
android:layout_height="wrap_content"
+ android:layout_marginBottom="4dip"
android:gravity="center_vertical"
android:orientation="horizontal"
>
android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_weight="1.0"
- android:paddingLeft="8dip"
- android:paddingRight="6dip"
+ android:layout_marginLeft="3dip"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black"
android:gravity="center_vertical"
android:background="@drawable/stop_background"
android:layout_width="wrap_content"
android:layout_height="match_parent"
+ android:layout_marginBottom="4dip"
android:src="@drawable/ic_btn_stop_v2"
android:visibility="gone"
/>
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewConfiguration;
-import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
private Drawable mNormalBackground;
private Drawable mLoadingBackground;
private ImageSpan mArcsSpan;
- private int mExtraMargin;
+ private int mLeftMargin;
+ private int mRightMargin;
private static int LONG_PRESS = 1;
mCircularProgress = (Drawable) resources.getDrawable(
com.android.internal.R.drawable.search_spinner);
DisplayMetrics metrics = resources.getDisplayMetrics();
- mExtraMargin = (int) TypedValue.applyDimension(
- TypedValue.COMPLEX_UNIT_DIP, 6.5f, metrics);
+ mLeftMargin = (int) TypedValue.applyDimension(
+ TypedValue.COMPLEX_UNIT_DIP, 8f, metrics);
+ mRightMargin = (int) TypedValue.applyDimension(
+ TypedValue.COMPLEX_UNIT_DIP, 6f, metrics);
mIconDimension = (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 20f, metrics);
mCircularProgress.setBounds(0, 0, mIconDimension, mIconDimension);
if (mInVoiceMode == inVoiceMode) return;
mInVoiceMode = inVoiceMode && mVoiceSearchIntent != null;
Drawable titleDrawable;
- ViewGroup.MarginLayoutParams params
- = (ViewGroup.MarginLayoutParams) mTitleBg.getLayoutParams();
if (mInVoiceMode) {
mRtButton.setImageDrawable(mVoiceDrawable);
titleDrawable = mVoiceModeBackground;
mTitle.setEllipsize(null);
mRtButton.setVisibility(View.VISIBLE);
mStopButton.setVisibility(View.GONE);
- if (params != null) {
- params.setMargins(0, 0, 0, 0);
- }
} else {
if (mInLoad) {
titleDrawable = mLoadingBackground;
mRtButton.setVisibility(View.GONE);
mStopButton.setVisibility(View.VISIBLE);
- ViewGroup.MarginLayoutParams stopParams
- = (ViewGroup.MarginLayoutParams)
- mStopButton.getLayoutParams();
- if (stopParams != null) {
- stopParams.setMargins(0,0,0, mExtraMargin);
- }
- if (params != null) {
- params.setMargins(0, 0, 0, mExtraMargin);
- }
} else {
titleDrawable = mNormalBackground;
mRtButton.setVisibility(View.VISIBLE);
mStopButton.setVisibility(View.GONE);
mRtButton.setImageDrawable(mBookmarkDrawable);
- if (params != null) {
- params.setMargins(0, 0, 0, 0);
- }
}
mTitle.setEllipsize(TextUtils.TruncateAt.END);
}
mTitle.setSingleLine(!mInVoiceMode);
mTitleBg.setBackgroundDrawable(titleDrawable);
+ mTitleBg.setPadding(mLeftMargin, 0, mRightMargin, 0);
}
/**
* Update the progress, from 0 to 100.
*/
/* package */ void setProgress(int newProgress) {
- ViewGroup.MarginLayoutParams params
- = (ViewGroup.MarginLayoutParams) mTitleBg.getLayoutParams();
if (newProgress >= mHorizontalProgress.getMax()) {
mTitle.setCompoundDrawables(null, null, null, null);
((Animatable) mCircularProgress).stop();
mRtButton.setVisibility(View.VISIBLE);
mStopButton.setVisibility(View.GONE);
mTitleBg.setBackgroundDrawable(mNormalBackground);
- // Set the margin for the textfield to 0, which is appropriate
- // for the normal background
- if (params != null) {
- params.setMargins(0, 0, 0, 0);
- }
+ mTitleBg.setPadding(mLeftMargin, 0, mRightMargin, 0);
}
mInLoad = false;
} else {
mHorizontalProgress.setVisibility(View.VISIBLE);
if (!mInVoiceMode) {
mTitleBg.setBackgroundDrawable(mLoadingBackground);
+ mTitleBg.setPadding(mLeftMargin, 0, mRightMargin, 0);
mRtButton.setVisibility(View.GONE);
mStopButton.setVisibility(View.VISIBLE);
- // Set a margin for the bottom of the textfield and the stop
- // button so that the total height matches that of the
- // title bar when the normal background is showing.
- if (params != null) {
- params.setMargins(0,0,0, mExtraMargin);
- }
- ViewGroup.MarginLayoutParams stopParams
- = (ViewGroup.MarginLayoutParams)
- mStopButton.getLayoutParams();
- if (stopParams != null) {
- stopParams.setMargins(0,0,0, mExtraMargin);
- }
}
mInLoad = true;
}