|
@@ -5,11 +5,14 @@ import static com.kongzue.dialogx.interfaces.BaseDialog.useTextInfo;
|
|
|
import android.content.Context;
|
|
|
import android.content.res.ColorStateList;
|
|
|
import android.os.Build;
|
|
|
+import android.view.Gravity;
|
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
|
import android.widget.BaseAdapter;
|
|
|
import android.widget.ImageView;
|
|
|
+import android.widget.LinearLayout;
|
|
|
+import android.widget.Space;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
import com.kongzue.dialogx.DialogX;
|
|
@@ -64,7 +67,7 @@ public class PopMenuArrayAdapter extends BaseAdapter {
|
|
|
|
|
|
viewHolder.imgDialogxMenuIcon = convertView.findViewById(R.id.img_dialogx_menu_icon);
|
|
|
viewHolder.txtDialogxMenuText = convertView.findViewById(R.id.txt_dialogx_menu_text);
|
|
|
- viewHolder.imgDialogxMenuSelection = convertView.findViewById(R.id.img_dialogx_menu_selection);
|
|
|
+ viewHolder.spaceRightPadding = convertView.findViewById(R.id.space_dialogx_right_padding);
|
|
|
|
|
|
convertView.setTag(viewHolder);
|
|
|
} else {
|
|
@@ -73,20 +76,23 @@ public class PopMenuArrayAdapter extends BaseAdapter {
|
|
|
viewHolder.imgDialogxMenuIcon.setVisibility(View.GONE);
|
|
|
viewHolder.txtDialogxMenuText.setText(menuList.get(position));
|
|
|
|
|
|
- if (DialogX.menuTextInfo != null) {
|
|
|
- useTextInfo(viewHolder.txtDialogxMenuText, DialogX.menuTextInfo);
|
|
|
+ if (popMenu.getMenuTextInfo() != null) {
|
|
|
+ useTextInfo(viewHolder.txtDialogxMenuText, popMenu.getMenuTextInfo());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
int textColor = popMenu.isLightTheme() ? R.color.black90 : R.color.white90;
|
|
|
viewHolder.txtDialogxMenuText.setTextColor(context.getResources().getColor(textColor));
|
|
|
-
|
|
|
+
|
|
|
if (popMenu.getOnIconChangeCallBack() != null) {
|
|
|
int resId = popMenu.getOnIconChangeCallBack().getIcon(popMenu, position, menuList.get(position).toString());
|
|
|
boolean autoTintIconInLightOrDarkMode = popMenu.getOnIconChangeCallBack().isAutoTintIconInLightOrDarkMode();
|
|
|
-
|
|
|
+
|
|
|
if (resId != 0) {
|
|
|
viewHolder.imgDialogxMenuIcon.setVisibility(View.VISIBLE);
|
|
|
viewHolder.imgDialogxMenuIcon.setImageResource(resId);
|
|
|
+ if (isHaveProperties(viewHolder.txtDialogxMenuText.getGravity(), Gravity.CENTER) || isHaveProperties(viewHolder.txtDialogxMenuText.getGravity(), Gravity.CENTER_HORIZONTAL)) {
|
|
|
+ viewHolder.spaceRightPadding.setVisibility(View.VISIBLE);
|
|
|
+ }
|
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
|
|
if (autoTintIconInLightOrDarkMode) {
|
|
|
viewHolder.imgDialogxMenuIcon.setImageTintList(ColorStateList.valueOf(context.getResources().getColor(textColor)));
|
|
@@ -94,16 +100,22 @@ public class PopMenuArrayAdapter extends BaseAdapter {
|
|
|
}
|
|
|
} else {
|
|
|
viewHolder.imgDialogxMenuIcon.setVisibility(View.GONE);
|
|
|
+ viewHolder.spaceRightPadding.setVisibility(View.GONE);
|
|
|
}
|
|
|
} else {
|
|
|
viewHolder.imgDialogxMenuIcon.setVisibility(View.GONE);
|
|
|
+ viewHolder.spaceRightPadding.setVisibility(View.GONE);
|
|
|
}
|
|
|
return convertView;
|
|
|
}
|
|
|
|
|
|
+ private boolean isHaveProperties(int gravity, int property) {
|
|
|
+ return (gravity & property) == property;
|
|
|
+ }
|
|
|
+
|
|
|
class ViewHolder {
|
|
|
ImageView imgDialogxMenuIcon;
|
|
|
TextView txtDialogxMenuText;
|
|
|
- ImageView imgDialogxMenuSelection;
|
|
|
+ Space spaceRightPadding;
|
|
|
}
|
|
|
}
|