Use custom drop-down filter widget
This CL is just a example how to use this SettingsSpinner. Change-Id: Ie0d104ce5f3e4c6b852fe7c051253b1567c6c4cd Fixes: 112706966 Test: robotests
This commit is contained in:
@@ -15,31 +15,30 @@
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<LinearLayout
|
<RelativeLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?android:attr/actionBarSize"
|
android:layout_height="wrap_content">
|
||||||
android:background="?android:attr/colorAccent"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:orientation="horizontal">
|
|
||||||
|
|
||||||
<Spinner
|
<com.android.settingslib.widget.settingsspinner.SettingsSpinner
|
||||||
android:id="@+id/filter_spinner"
|
android:id="@+id/filter_spinner"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_centerHorizontal="true"
|
||||||
android:paddingStart="64dp"
|
android:layout_marginTop="24dp"
|
||||||
android:background="@drawable/app_filter_spinner_background"/>
|
android:layout_marginBottom="16dp"/>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/filter_settings"
|
android:id="@+id/filter_settings"
|
||||||
style="?android:attr/borderlessButtonStyle"
|
style="?android:attr/borderlessButtonStyle"
|
||||||
android:layout_width="56dp"
|
android:layout_width="56dp"
|
||||||
android:layout_height="56dp"
|
android:layout_height="56dp"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:layout_toRightOf="@id/filter_spinner"
|
||||||
android:contentDescription="@string/configure"
|
android:contentDescription="@string/configure"
|
||||||
android:scaleType="center"
|
android:scaleType="center"
|
||||||
android:src="@drawable/ic_settings_24dp"
|
android:src="@drawable/ic_settings_24dp"
|
||||||
android:visibility="gone" />
|
android:visibility="gone"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
@@ -67,7 +67,6 @@ import android.view.View;
|
|||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
import android.widget.AdapterView.OnItemSelectedListener;
|
import android.widget.AdapterView.OnItemSelectedListener;
|
||||||
import android.widget.ArrayAdapter;
|
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
import android.widget.Spinner;
|
import android.widget.Spinner;
|
||||||
|
|
||||||
@@ -128,6 +127,7 @@ import com.android.settingslib.applications.ApplicationsState.VolumeFilter;
|
|||||||
import com.android.settingslib.applications.StorageStatsSource;
|
import com.android.settingslib.applications.StorageStatsSource;
|
||||||
import com.android.settingslib.fuelgauge.PowerWhitelistBackend;
|
import com.android.settingslib.fuelgauge.PowerWhitelistBackend;
|
||||||
import com.android.settingslib.utils.ThreadUtils;
|
import com.android.settingslib.utils.ThreadUtils;
|
||||||
|
import com.android.settingslib.widget.settingsspinner.SettingsSpinnerAdapter;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@@ -757,7 +757,7 @@ public class ManageApplications extends InstrumentedFragment
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static class FilterSpinnerAdapter extends ArrayAdapter<CharSequence> {
|
static class FilterSpinnerAdapter extends SettingsSpinnerAdapter<CharSequence> {
|
||||||
|
|
||||||
private final ManageApplications mManageApplications;
|
private final ManageApplications mManageApplications;
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
@@ -767,10 +767,9 @@ public class ManageApplications extends InstrumentedFragment
|
|||||||
private final ArrayList<AppFilterItem> mFilterOptions = new ArrayList<>();
|
private final ArrayList<AppFilterItem> mFilterOptions = new ArrayList<>();
|
||||||
|
|
||||||
public FilterSpinnerAdapter(ManageApplications manageApplications) {
|
public FilterSpinnerAdapter(ManageApplications manageApplications) {
|
||||||
super(manageApplications.getContext(), R.layout.filter_spinner_item);
|
super(manageApplications.getContext());
|
||||||
mContext = manageApplications.getContext();
|
mContext = manageApplications.getContext();
|
||||||
mManageApplications = manageApplications;
|
mManageApplications = manageApplications;
|
||||||
setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public AppFilterItem getFilter(int position) {
|
public AppFilterItem getFilter(int position) {
|
||||||
|
Reference in New Issue
Block a user