android-dialer
A reusable dialer implementation extracted from AOSP.
Including in your project
repositories {
jcenter()
}
compile 'im.dlg:android-dialer:1.2.5'
Usage
1) Within fragment
Just add the DialpadFragment
into your activity and make sure the activity implements DialpadFragment.Callback
:
interface Callback {
void ok(String formatted, String raw);
}
The formatted string contains the input as it displayed to user (+1 555-546-0001) and the raw string contains characters only (+15555460001).
2) Via startActivityForResult
Intent intent = new Intent(context, DialpadActivity.class);
startActivityForResult(intent, 100); // any result request code is ok
And then in your onActivityResult
:
@Override
override void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
String formatted = data.getStringExtra(DialpadActivity.EXTRA_RESULT_FORMATTED);
String raw = data.getStringExtra(DialpadActivity.EXTRA_RESULT_RAW);
...
}
}
Configuration
Whether you're using a fragment or an activity, you can provide configuration via extras. For a fragment use setArguments
, and for activity use intent extras.
Arguments are:
EXTRA_REGION_CODE
(string): Region code for the phone formatter. Default isUS
.EXTRA_FORMAT_AS_YOU_TYPE
(boolean): Enable phone formatting. If disabled, bothformatted
andraw
results will be the same. Default istrue
.EXTRA_ENABLE_STAR
(boolean): Will show the 'star' symbol. Default istrue
.EXTRA_ENABLE_POUND
(boolean): Will show the 'pound' symbol. Default istrue
.EXTRA_ENABLE_PLUS
(boolean): Will show the 'plus' symbol. Default istrue
.EXTRA_CURSOR_VISIBLE
(boolean): Will show the cursor in the digitsEditText
. Default isfalse
.
Styles
The dialer is styled using android theme colors; the button color is colorAccent
and digits color is colorPrimary
.
License
Copyright (c) 2017-present, dialog LLC <info@dlg.im>.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.