Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bytehamster/searchpreference
Search inside Android Preferences
https://github.com/bytehamster/searchpreference
android android-library android-settings
Last synced: 6 days ago
JSON representation
Search inside Android Preferences
- Host: GitHub
- URL: https://github.com/bytehamster/searchpreference
- Owner: ByteHamster
- License: mit
- Created: 2018-04-14T20:50:41.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-02-11T21:30:15.000Z (9 months ago)
- Last Synced: 2024-10-31T21:43:27.053Z (13 days ago)
- Topics: android, android-library, android-settings
- Language: Java
- Size: 951 KB
- Stars: 68
- Watchers: 6
- Forks: 20
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SearchPreference
This is a library for Android apps that allows to search inside Preference xml files. The library provides a subclass of `Preference` that can be integrated into existing apps easily.
## Adding to your app
Add PreferenceSearch to your `app/build.gradle`:
dependencies {
implementation 'com.github.ByteHamster:SearchPreference:v1.0.3'
}Add PreferenceSearch to your `build.gradle`:
allprojects {
repositories {
// ...
maven { url 'https://jitpack.io' }
}
}Add search bar to your `preferences.xml` file:
Define search index in your `PreferenceFragment`:public static class PrefsFragment extends PreferenceFragmentCompat {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);SearchPreference searchPreference = (SearchPreference) findPreference("searchPreference");
SearchConfiguration config = searchPreference.getSearchConfiguration();
config.setActivity((AppCompatActivity) getActivity());
config.index(R.xml.preferences);
}
}And react to search results in your Activity:
public class MyActivity extends AppCompatActivity implements SearchPreferenceResultListener {
private PrefsFragment prefsFragment;@Override
public void onSearchResultClicked(SearchPreferenceResult result) {
result.closeSearchPage(this);
result.highlight(prefsFragment);
}
}## Translations
This library currently contains only a limited number of translations. If you want to translate
the texts shown by the library together with your app's other strings, you can just override
the strings defined in `lib/src/main/res/values/strings.xml` in your own application by copying
those lines to your app's `strings.xml`.