Highlight list picker when pressed, don't allow popover in landscape mode

pull/14/head
Sam Bosley 13 years ago
parent 4bf7cbe57c
commit a950b0eae2

@ -1,14 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:id="@+id/lists_nav"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center_vertical">
android:orientation="horizontal">
<TextView
android:id="@+id/lists_nav"
android:id="@+id/list_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="fill_parent"
android:gravity="center_vertical"
style="@style/TextAppearance.GEN_EditLabel"
android:textSize="20dip"/>

@ -1,13 +1,14 @@
package com.todoroo.astrid.activity;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.ActionBar;
import android.support.v4.app.Fragment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.PopupWindow.OnDismissListener;
import android.widget.TextView;
import com.timsu.astrid.R;
@ -20,6 +21,7 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
public static final String TOKEN_SELECTED_FILTER = "selectedFilter";
private int currSelection;
private View listsNav;
private TextView lists;
private ArrayAdapter<Filter> listDropdownAdapter;
@ -35,6 +37,14 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
lists.setText(item.title);
}
};
private final OnClickListener popupMenuClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
listsNav.setBackgroundColor(Color.RED);
popover.show(v);
}
};
/**
* @see android.app.Activity#onCreate(Bundle)
*/
@ -44,29 +54,38 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.task_list_wrapper_activity);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Filter savedFilter = getIntent().getParcelableExtra(TaskListActivity.TOKEN_FILTER);
setupTasklistFragmentWithFilter(savedFilter);
setupFilterlistFragment();
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(R.layout.header_nav_views);
popover = new ListDropdownPopover(TaskListWrapperActivity.this, R.layout.list_dropdown_popover);
lists = (TextView) actionBar.getCustomView().findViewById(R.id.lists_nav);
lists.setOnClickListener(new OnClickListener() {
popover.setOnDismissListener(new OnDismissListener() {
@Override
public void onClick(View v) {
popover.show(v);
public void onDismiss() {
listsNav.setBackgroundColor(Color.TRANSPARENT);
}
});
listsNav = actionBar.getCustomView().findViewById(R.id.lists_nav);
lists = (TextView) actionBar.getCustomView().findViewById(R.id.list_title);
currSelection = 0;
View container = findViewById(R.id.filterlist_fragment_container);
if (container != null) {
mMultipleFragments = true;
actionBar.setDisplayHomeAsUpEnabled(false);
listsNav.setOnClickListener(null);
} else {
mMultipleFragments = false;
actionBar.setDisplayHomeAsUpEnabled(true);
listsNav.setOnClickListener(popupMenuClickListener);
}
Filter savedFilter = getIntent().getParcelableExtra(TaskListActivity.TOKEN_FILTER);
setupTasklistFragmentWithFilter(savedFilter);
setupFilterlistFragment();
if (savedInstanceState != null) {
currSelection = savedInstanceState.getInt(TOKEN_SELECTED_FILTER);
}
@ -79,15 +98,6 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
@Override
protected void onResume() {
super.onResume();
Fragment frag = getFilterListFragment();
if (frag != null) {
mMultipleFragments = true;
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
} else {
mMultipleFragments = false;
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
public void updateDropdownNav(ArrayAdapter<Filter> arrayAdapter) {
@ -98,6 +108,12 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
}
}
@Override
protected void onPause() {
super.onPause();
popover.dismiss();
}
@Override
protected void onSaveInstanceState(Bundle icicle) {
icicle.putInt(TOKEN_SELECTED_FILTER, currSelection);

Loading…
Cancel
Save