Switching to framework styles in action bar
Change-Id: I218710421d40e28557252ac22f95c8e0c1791513
diff --git a/res/layout/navigation_bar.xml b/res/layout/navigation_bar.xml
index 8528d8a..f3fd9d4 100644
--- a/res/layout/navigation_bar.xml
+++ b/res/layout/navigation_bar.xml
@@ -16,95 +16,71 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ style="?android:attr/actionBarTabBarStyle"
+ android:showDividers="beginning|middle|end"
android:id="@+id/navigation_bar"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="horizontal">
+ android:orientation="horizontal" >
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/filter_container"
+ <TextView
+ android:id="@+id/search_label"
+ style="?android:attr/actionButtonStyle"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:orientation="horizontal"
- android:layout_marginLeft="8dip">
+ android:gravity="center_vertical"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="@string/search_label"
+ android:minWidth="220dip" />
+
+ <view
+ class="com.android.contacts.list.ContactListFilterView"
+ style="?android:attr/actionDropDownStyle"
+ android:id="@+id/filter_view"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="left|center_vertical"
+ android:minWidth="220dip" >
+ <ImageView
+ android:id="@+id/icon"
+ android:scaleType="fitCenter"
+ android:layout_width="24dip"
+ android:layout_height="24dip"
+ android:layout_marginRight="7dip"
+ android:layout_gravity="center_vertical" />
+
<FrameLayout
- android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:minWidth="220dip"
- android:background="@drawable/filter_selector_background">
+ android:layout_width="wrap_content">
<TextView
- android:id="@+id/search_label"
- android:layout_width="wrap_content"
+ android:id="@+id/label"
android:layout_height="match_parent"
+ android:layout_width="wrap_content"
android:gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceMedium"
- android:text="@string/search_label" />
-
- <view
- class="com.android.contacts.list.ContactListFilterView"
- android:id="@+id/filter_view"
- android:layout_height="match_parent"
+ android:ellipsize="end" />
+ <LinearLayout
+ android:id="@+id/group"
+ android:layout_height="wrap_content"
android:layout_width="wrap_content"
- android:layout_marginLeft="20dip">
- <ImageView
- android:id="@+id/icon"
- android:scaleType="fitCenter"
- android:layout_width="24dip"
- android:layout_height="24dip"
- android:layout_marginLeft="8dip"
- android:layout_marginRight="7dip"
- android:layout_gravity="center_vertical" />
-
- <FrameLayout
- android:layout_height="match_parent"
- android:layout_width="wrap_content">
- <TextView
- android:id="@+id/label"
- android:layout_height="match_parent"
- android:layout_width="wrap_content"
- android:gravity="center_vertical"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:ellipsize="end" />
- <LinearLayout
- android:id="@+id/group"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:orientation="vertical"
- android:layout_gravity="center_vertical">
- <TextView
- android:id="@+id/group_label"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:ellipsize="end" />
- <TextView
- android:id="@+id/account_label"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:ellipsize="end" />
- </LinearLayout>
- </FrameLayout>
- </view>
+ android:orientation="vertical"
+ android:layout_gravity="center_vertical">
+ <TextView
+ android:id="@+id/group_label"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:ellipsize="end" />
+ <TextView
+ android:id="@+id/account_label"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:ellipsize="end" />
+ </LinearLayout>
</FrameLayout>
+ </view>
- <ImageView
- android:id="@+id/filter_indicator"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="8dip"
- android:layout_marginBottom="13dip"
- android:layout_gravity="bottom"
- android:src="@drawable/filter_selector_corner" />
- </LinearLayout>
-
- <View
- android:layout_width="3dip"
- android:layout_height="wrap_content"
- android:layout_marginLeft="7dip"
- android:layout_marginRight="7dip"
- android:background="@*android:drawable/cab_divider_holo_light" />
<view
class="android.widget.SearchView"
android:id="@+id/search_view"
diff --git a/src/com/android/contacts/activities/ActionBarAdapter.java b/src/com/android/contacts/activities/ActionBarAdapter.java
index 780d8ed..75c43c5 100644
--- a/src/com/android/contacts/activities/ActionBarAdapter.java
+++ b/src/com/android/contacts/activities/ActionBarAdapter.java
@@ -24,6 +24,7 @@
import android.app.ActionBar;
import android.app.ActionBar.LayoutParams;
+import android.app.ActionBar.OnNavigationListener;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
@@ -59,9 +60,7 @@
private Listener mListener;
private ContactListFilterView mFilterView;
- private View mFilterIndicator;
private ContactListFilterController mFilterController;
- private View mFilterContainer;
private boolean mEnabled;
@@ -79,6 +78,14 @@
mQueryString = request.getQueryString();
}
+ OnNavigationListener callback = new OnNavigationListener() {
+
+ @Override
+ public boolean onNavigationItemSelected(int itemPosition, long itemId) {
+ return false;
+ }
+ };
+
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM, ActionBar.DISPLAY_SHOW_CUSTOM);
mNavigationBar = LayoutInflater.from(mContext).inflate(R.layout.navigation_bar, null);
@@ -86,10 +93,8 @@
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
actionBar.setCustomView(mNavigationBar, layoutParams);
- mFilterContainer = mNavigationBar.findViewById(R.id.filter_container);
mFilterView = (ContactListFilterView) mNavigationBar.findViewById(R.id.filter_view);
mSearchLabel = (TextView) mNavigationBar.findViewById(R.id.search_label);
- mFilterIndicator = mNavigationBar.findViewById(R.id.filter_indicator);
mSearchView = (SearchView) mNavigationBar.findViewById(R.id.search_view);
mSearchView.setOnQueryChangeListener(this);
@@ -111,7 +116,7 @@
public void setContactListFilterController(ContactListFilterController controller) {
mFilterController = controller;
- mFilterController.setAnchor(mFilterContainer);
+ mFilterController.setAnchor(mFilterView);
mFilterController.addListener(this);
}
@@ -169,7 +174,6 @@
mNavigationBar.setVisibility(View.VISIBLE);
mSearchLabel.setVisibility(View.VISIBLE);
mFilterView.setVisibility(View.GONE);
- mFilterIndicator.setVisibility(View.INVISIBLE);
if (mFilterController != null) {
mFilterController.setEnabled(false);
}
@@ -177,17 +181,14 @@
mNavigationBar.setVisibility(View.VISIBLE);
mSearchLabel.setVisibility(View.GONE);
mFilterView.setVisibility(View.VISIBLE);
- boolean showIndicator = false;
if (mFilterController != null){
mFilterController.setEnabled(true);
if (mFilterController.isLoaded()) {
mFilterView.setContactListFilter(mFilterController.getFilter());
mFilterView.setSingleAccount(mFilterController.getAccountCount() == 1);
mFilterView.bindView(false);
- showIndicator = mFilterController.getFilterCount() > 1;
}
}
- mFilterIndicator.setVisibility(showIndicator ? View.VISIBLE : View.INVISIBLE);
}
}