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.
|
||||
-->
|
||||
|
||||
<LinearLayout
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?android:attr/actionBarSize"
|
||||
android:background="?android:attr/colorAccent"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Spinner
|
||||
<com.android.settingslib.widget.settingsspinner.SettingsSpinner
|
||||
android:id="@+id/filter_spinner"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:paddingStart="64dp"
|
||||
android:background="@drawable/app_filter_spinner_background"/>
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_marginBottom="16dp"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/filter_settings"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_toRightOf="@id/filter_spinner"
|
||||
android:contentDescription="@string/configure"
|
||||
android:scaleType="center"
|
||||
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.widget.AdapterView;
|
||||
import android.widget.AdapterView.OnItemSelectedListener;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.FrameLayout;
|
||||
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.fuelgauge.PowerWhitelistBackend;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
import com.android.settingslib.widget.settingsspinner.SettingsSpinnerAdapter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
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 Context mContext;
|
||||
@@ -767,10 +767,9 @@ public class ManageApplications extends InstrumentedFragment
|
||||
private final ArrayList<AppFilterItem> mFilterOptions = new ArrayList<>();
|
||||
|
||||
public FilterSpinnerAdapter(ManageApplications manageApplications) {
|
||||
super(manageApplications.getContext(), R.layout.filter_spinner_item);
|
||||
super(manageApplications.getContext());
|
||||
mContext = manageApplications.getContext();
|
||||
mManageApplications = manageApplications;
|
||||
setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
}
|
||||
|
||||
public AppFilterItem getFilter(int position) {
|
||||
|
Reference in New Issue
Block a user