有没有人使用1GravityContactsPicker Library for android。
我昨天刚发现这个,并决定在我的应用程序中使用它,因为它的功能很好。我做了所有步骤中提到的所有内容,但是当我开始活动时,我收到一条Toast消息说
属性未定义; " cp_textColorPrimary&#34 ;.你应用了正确的吗? 主题
我检查了图书馆的文件,并且我做了什么 1)添加了对gradle的依赖 2)向清单添加活动文件 3)启用联系人权限 4)下面是代码
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, ContactPickerActivity.class)
.putExtra(ContactPickerActivity.EXTRA_THEME, R.style.ContactPicker_Theme_Dark)
.putExtra(ContactPickerActivity.EXTRA_CONTACT_BADGE_TYPE,
ContactPictureType.ROUND.name())
.putExtra(ContactPickerActivity.EXTRA_CONTACT_DESCRIPTION,
ContactDescription.ADDRESS.name())
.putExtra(ContactPickerActivity.EXTRA_SHOW_CHECK_ALL, true)
.putExtra(ContactPickerActivity.EXTRA_SELECT_CONTACTS_LIMIT, 0)
.putExtra(ContactPickerActivity.EXTRA_ONLY_CONTACTS_WITH_PHONE, false)
.putExtra(ContactPickerActivity.EXTRA_CONTACT_DESCRIPTION_TYPE,
ContactsContract.CommonDataKinds.Email.TYPE_WORK)
.putExtra(ContactPickerActivity.EXTRA_CONTACT_SORT_ORDER,
ContactSortOrder.AUTOMATIC.name());
startActivityForResult(intent, REQUEST_CONTACT);
}
});
任何人都可以帮我解决这个问题
答案 0 :(得分:0)
我有同样的问题。 这是因为在他的Actvity中他直接测试AppThem,如果你的应用程序主题没有实现Picker风格,那么检查一直都是假的。
// check if all custom attributes are defined
if (! checkTheming()) {
finish();
return;
}
为了解决这个问题,我已经在styles.xml中添加了新的主题
<!-- LIGHT Theme -->
<style name="Theme_Light_Base" parent="@style/ContactPicker_Theme_Light">
<!-- ActionBarCompat -->
<item name="colorPrimary">@color/colorPrimary_light</item>
<item name="colorAccent">@color/colorAccent_light</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark_light</item>
<item name="backgroundColor">@color/background_light</item>
<!--<item name="icTheme">@drawable/ic_palette_black_36dp</item>-->
<!--<item name="icPickContact">@drawable/ic_person_add_black_36dp</item>-->
</style>
<style name="Theme_Light_picker" parent="@style/Theme_Light_Base"/>
<!-- DARK Theme -->
<style name="Theme_Dark_Base" parent="@style/ContactPicker_Theme_Dark">
<!-- ActionBarCompat -->
<item name="colorPrimary">@color/colorPrimary_dark</item>
<item name="colorAccent">@color/colorAccent_dark</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark_dark</item>
<item name="backgroundColor">@color/background_dark</item>
<!--<item name="icTheme">@drawable/ic_palette_white_36dp</item>-->
<!--<item name="icPickContact">@drawable/ic_person_add_white_36dp</item>-->
</style>
并直接在AndroidManifest.xml中的ActivityPicker上应用:
<activity
android:name="com.onegravity.contactpicker.core.ContactPickerActivity"
android:enabled="true"
android:exported="false"
android:theme="@style/Theme_Light_picker">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>