Có vẻ như đây là một cuộc điều tra về câu trả lời của @ user3121370. Chúng bị thiêu rụi. : O
Nếu bạn chỉ cần lấy một thứ nguyên, như padding, minHeight (trường hợp của tôi là: android.R.attr.listPreferredItemPaddingStart). Bạn có thể làm:
TypedValue typedValue = new TypedValue();
((Activity)context).getTheme().resolveAttribute(android.R.attr.listPreferredItemPaddingStart, typedValue, true);
Giống như câu hỏi đã làm, và sau đó:
final DisplayMetrics metrics = new android.util.DisplayMetrics();
WindowManager wm = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE);
wm.getDefaultDisplay().getMetrics(metrics);
int myPaddingStart = typedValue.getDimension( metrics );
Cũng giống như câu trả lời đã bị loại bỏ. Điều này sẽ cho phép bạn bỏ qua việc xử lý kích thước pixel thiết bị vì nó sử dụng chỉ số thiết bị mặc định. Kết quả trả về sẽ là float, và bạn nên ép kiểu int.
Hãy trung thành với loại mà bạn đang cố gắng đạt được, như resourceId.