下面列出了怎么用android.support.annotation.StringRes的API类实例代码及写法,或者点击链接到github查看源代码。
public static String formatTxFromResId(@StringRes int resId, Object... args) {
if (args == null || args.length == 0) {
return "";
}
String str = TokApplication.getInstance().getString(resId);
return String.format(str, args);
}
public static LandingFragment newInstance(@StringRes int titleResId,
@ArrayRes int descriptionResId) {
LandingFragment fragment = new LandingFragment();
Bundle args = new Bundle();
args.putInt(TITLE, titleResId);
args.putInt(DESCRIPTION, descriptionResId);
fragment.setArguments(args);
return fragment;
}
/**
* 安全地显示短时吐司
*
* @param resId 资源Id
*/
public static void showShortToastSafe(final @StringRes int resId) {
sHandler.post(new Runnable() {
@Override
public void run() {
showToast(resId, Toast.LENGTH_SHORT);
}
});
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
@StringRes int titleResId = getArguments().getInt(TITLE);
mTitle.setText(getString(titleResId));
@ArrayRes int descriptionResId = getArguments().getInt(DESCRIPTION);
String[] descriptionArray = getResources().getStringArray(descriptionResId);
description.addAll(Arrays.asList(descriptionArray));
}
/**
* 安全地显示短时吐司
*
* @param resId 资源Id
* @param args 参数
*/
public static void showShortToastSafe(final @StringRes int resId, final Object... args) {
sHandler.post(new Runnable() {
@Override
public void run() {
showToast(resId, Toast.LENGTH_SHORT, args);
}
});
}
private void showRationaleDialog(@StringRes int messageResId, final PermissionRequest request) {
new AlertDialog.Builder(this)
.setPositiveButton(R.string.act_next, (dialog, which) -> request.proceed())
.setNegativeButton(android.R.string.cancel, (dialog, which) -> request.cancel())
.setCancelable(false)
.setMessage(messageResId)
.show();
}
/**
* 获取特定Context定义常量
* @param res
* @return
*/
public static String getString(Context context, @StringRes int res) {
if (context == null) {
return null;
}
return context.getString(res);
}
/**
* Show the sToast for a short period of time.
*
* @param resId The resource id for text.
*/
public static void showShort(@StringRes final int resId, int gravity) {
if (gravity == Gravity.CENTER) {
setGravity(gravity, 0, 0);
}
show(resId, Toast.LENGTH_SHORT);
}
public void setActionBarLeft(@StringRes int iconStr, @StringRes int str, int count) {
if (mNewActionBar == null) {
return;
}
setActionBarLeftIcon(iconStr);
setActionBarLeftText(str);
setActionBarLeftCount(count);
}
/**
* 设置文本
* @param ids
* @param stringres
*/
public void setText(@IdRes int ids, @StringRes int stringres) {
View view = findViewById(ids);
if (view instanceof TextView) {
((TextView) view).setText(stringres);
}
}
/**
* Show the sToast for a long period of time.
*
* @param resId The resource id for text.
* @param args The args.
*/
public static void showLong(@StringRes final int resId, final Object... args) {
if (args != null && args.length == 0) {
show(resId, Toast.LENGTH_SHORT);
} else {
show(resId, Toast.LENGTH_LONG, args);
}
}
/**
* 安全地显示短时吐司
*
* @param resId 资源Id
*/
public static void showShortToastSafe(final Context context, final @StringRes int resId) {
sHandler.post(new Runnable() {
@Override
public void run() {
showToast(context, resId, Toast.LENGTH_SHORT);
}
});
}
@Test
@MediumTest
public void allTextsDisplayed() throws Exception {
@StringRes final int[] resIds = {
R.string.emoji_text_view,
R.string.emoji_edit_text,
R.string.emoji_button,
R.string.regular_text_view,
R.string.custom_text_view,
};
for (int resId : resIds) {
final String text = rule.getActivity().getString(resId, MainActivity.EMOJI);
onView(withText(text)).check(matches(isDisplayed()));
}
}
/**
* 安全地显示长时吐司
*
* @param resId 资源Id
*/
public static void showLongToastSafe(final Context context, final @StringRes int resId) {
sHandler.post(new Runnable() {
@Override
public void run() {
showToast(context, resId, Toast.LENGTH_LONG);
}
});
}
/**
* 显示短时吐司
*
* @param resId 资源Id
*/
public static void showShortToast(Context context, @StringRes int resId) {
if (context == null) {
return;
}
showToast(context, resId, Toast.LENGTH_SHORT);
}
@RequiresApi(O) private NotificationChannel makeChannel(final String channel_id, final @StringRes int name, final boolean silent) {
final NotificationChannel channel = new NotificationChannel(channel_id, getString(name), NotificationManager.IMPORTANCE_HIGH/* Allow heads-up (by default) */);
if (silent) channel.setSound(null, null);
else channel.setSound(getDefaultSound(), new AudioAttributes.Builder().setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_INSTANT).build());
channel.enableLights(true);
channel.setLightColor(LIGHT_COLOR);
return channel;
}
public void setActionBarRightText(@StringRes int str) {
if (mNewActionBar == null) {
return;
}
mNewActionBar.getRightLayout().setVisibility(View.VISIBLE);
if (str == 0) {
mNewActionBar.getRightText().setVisibility(View.GONE);
} else {
mNewActionBar.getRightText().setVisibility(View.VISIBLE);
mNewActionBar.getRightText().setText(str);
}
}
public static Spanned formatHtmlTxFromResId(@StringRes int resId, Object... args) {
return Html.fromHtml(formatTxFromResId(resId, args));
}
protected void putLong(@StringRes int keyResId, long value) {
mPreferences.edit().putLong(getKey(keyResId), value).apply();
}
public Creator add(@StringRes int title, Class<? extends Fragment> clazz, Bundle args) {
return add(FragmentPagerItem.of(items.getContext().getString(title), clazz, args));
}
public static MultiSpanOption create(@StringRes int strId, Object... objs) {
return create(StringUtil.getResourceStringAndFormat(strId, objs));
}
public final void showToast(@StringRes int resId) {
Toast.makeText(this, resId, Toast.LENGTH_SHORT).show();
}
protected void putStringSet(@StringRes int keyResId, Set<String> stringSet) {
mPreferences.edit().putStringSet(getKey(keyResId), stringSet).apply();
}
@Override
final void setSubTitle(@StringRes int title) {
if (mActionBar != null)
mActionBar.setSubtitle(title);
}
public Creator add(@StringRes int title, Class<? extends Fragment> clazz) {
return add(FragmentPagerItem.of(items.getContext().getString(title), clazz));
}
public ToolbarWidget logoDescription(@StringRes int resId) {
view.setLogoDescription(resId);
return self();
}
public ItemOption append(@StringRes int keyWord) {
return appendInternal(null, StringUtil.getResourceString(keyWord));
}
protected String getKey(@StringRes int resId) {
return PalmApp.getStringCompact(resId);
}
@Override
final void setTitle(@StringRes int title) {
if (mActionBar != null)
mActionBar.setTitle(title);
}
@RequiresApi(O) private NotificationChannel migrate(final String old_id, final String new_id, final @StringRes int new_name, final boolean silent) {
final NotificationChannel channel_message = getNotificationChannel(WECHAT_PACKAGE, Process.myUserHandle(), old_id);
deleteNotificationChannel(WECHAT_PACKAGE, Process.myUserHandle(), old_id);
if (channel_message != null) return cloneChannel(channel_message, new_id, new_name);
else return makeChannel(new_id, new_name, silent);
}