fix: restore compact android ui density
This commit is contained in:
@@ -50,18 +50,28 @@ public class BossUiConversationRowTest {
|
||||
TextView previewView = (TextView) centerColumn.getChildAt(centerColumn.getChildCount() - 1);
|
||||
|
||||
String metrics = String.format(
|
||||
"row=%d center=%d trailing=%d title=%d preview=%d",
|
||||
"row=%d height=%d avatarHeight=%d center=%dx%d trailing=%dx%d title=%dx%d preview=%dx%d",
|
||||
rowView.getMeasuredWidth(),
|
||||
rowView.getMeasuredHeight(),
|
||||
rowView.getChildAt(0).getMeasuredHeight(),
|
||||
centerColumn.getMeasuredWidth(),
|
||||
centerColumn.getMeasuredHeight(),
|
||||
trailingColumn.getMeasuredWidth(),
|
||||
trailingColumn.getMeasuredHeight(),
|
||||
titleView.getMeasuredWidth(),
|
||||
previewView.getMeasuredWidth()
|
||||
titleView.getMeasuredHeight(),
|
||||
previewView.getMeasuredWidth(),
|
||||
previewView.getMeasuredHeight()
|
||||
);
|
||||
assertEquals("列表项应使用微信式扁平 padding: " + metrics, BossUi.dp(context, 16), rowView.getPaddingLeft());
|
||||
assertEquals("列表项应使用微信式扁平 padding: " + metrics, BossUi.dp(context, 12), rowView.getPaddingTop());
|
||||
assertEquals("列表项应使用微信式扁平 padding: " + metrics, BossUi.dp(context, 16), rowView.getPaddingRight());
|
||||
assertEquals("列表项应使用微信式扁平 padding: " + metrics, BossUi.dp(context, 12), rowView.getPaddingBottom());
|
||||
assertEquals("列表项应恢复成更紧凑的信息密度: " + metrics, BossUi.dp(context, 14), rowView.getPaddingLeft());
|
||||
assertEquals("列表项应恢复成更紧凑的信息密度: " + metrics, BossUi.dp(context, 8), rowView.getPaddingTop());
|
||||
assertEquals("列表项应恢复成更紧凑的信息密度: " + metrics, BossUi.dp(context, 14), rowView.getPaddingRight());
|
||||
assertEquals("列表项应恢复成更紧凑的信息密度: " + metrics, BossUi.dp(context, 8), rowView.getPaddingBottom());
|
||||
assertEquals("列表项不应保持卡片式浮层感: " + metrics, 0f, rowView.getElevation(), 0.01f);
|
||||
assertTrue("单条会话行不应再撑到接近 90dp: " + metrics, rowView.getMeasuredHeight() <= BossUi.dp(context, 78));
|
||||
assertEquals("会话头像应恢复到更克制的尺寸: " + metrics, BossUi.dp(context, 44), rowView.getChildAt(0).getLayoutParams().width);
|
||||
assertEquals("会话头像应恢复到更克制的尺寸: " + metrics, BossUi.dp(context, 44), rowView.getChildAt(0).getLayoutParams().height);
|
||||
assertEquals("标题字号应回到中等密度", 15f, titleView.getTextSize() / context.getResources().getDisplayMetrics().scaledDensity, 0.5f);
|
||||
assertTrue("中间文字列不应被挤成 0 宽: " + metrics, centerColumn.getMeasuredWidth() > 0);
|
||||
assertTrue("标题需要保留可见宽度: " + metrics, titleView.getMeasuredWidth() > 0);
|
||||
assertTrue("预览需要保留可见宽度: " + metrics, previewView.getMeasuredWidth() > 0);
|
||||
|
||||
@@ -48,6 +48,10 @@ public class BossUiRootSurfaceTest {
|
||||
|
||||
View header = content.getChildAt(0);
|
||||
assertEquals("资料头不应保留浮层卡片感", 0f, header.getElevation(), 0.01f);
|
||||
assertTrue("资料头应保持横向布局", header instanceof LinearLayout);
|
||||
View avatar = ((LinearLayout) header).getChildAt(0);
|
||||
assertEquals("我的页头像应恢复到中等尺寸", BossUi.dp(activity, 56), avatar.getLayoutParams().width);
|
||||
assertEquals("我的页头像应恢复到中等尺寸", BossUi.dp(activity, 56), avatar.getLayoutParams().height);
|
||||
assertTrue(viewTreeContainsText(header, "Kris"));
|
||||
assertTrue(viewTreeContainsText(header, "krisolo"));
|
||||
assertTrue(viewTreeContainsText(header, "最高管理员"));
|
||||
@@ -101,10 +105,12 @@ public class BossUiRootSurfaceTest {
|
||||
assertEquals("会话", conversations.getText().toString());
|
||||
assertEquals("设备", devices.getText().toString());
|
||||
assertEquals("我的", me.getText().toString());
|
||||
assertEquals("顶部标题应恢复到更克制的字号", 20f, ((TextView) activity.findViewById(R.id.top_title)).getTextSize() / activity.getResources().getDisplayMetrics().scaledDensity, 0.5f);
|
||||
assertEquals("底栏高度应恢复到更紧凑的有效面积", BossUi.dp(activity, 58), ((View) conversations.getParent()).getLayoutParams().height);
|
||||
assertNotNull("会话 tab 应显示顶部图标", conversations.getCompoundDrawables()[1]);
|
||||
assertNotNull("设备 tab 应显示顶部图标", devices.getCompoundDrawables()[1]);
|
||||
assertNotNull("我的 tab 应显示顶部图标", me.getCompoundDrawables()[1]);
|
||||
assertEquals("底栏文字应压成微信式小字号", 12f, conversations.getTextSize() / activity.getResources().getDisplayMetrics().scaledDensity, 0.5f);
|
||||
assertEquals("底栏文字应保持小字号", 11f, conversations.getTextSize() / activity.getResources().getDisplayMetrics().scaledDensity, 0.5f);
|
||||
}
|
||||
|
||||
private static boolean viewTreeContainsText(View root, String expectedText) {
|
||||
|
||||
@@ -21,9 +21,9 @@ public class BossUiTopActionStyleTest {
|
||||
|
||||
BossUi.applyTopIconButtonStyle(context, button);
|
||||
|
||||
assertEquals(BossUi.dp(context, 40), button.getMinimumWidth());
|
||||
assertEquals(BossUi.dp(context, 40), button.getMinimumHeight());
|
||||
assertEquals(BossUi.dp(context, 8), button.getPaddingLeft());
|
||||
assertEquals(BossUi.dp(context, 8), button.getPaddingTop());
|
||||
assertEquals(BossUi.dp(context, 36), button.getMinimumWidth());
|
||||
assertEquals(BossUi.dp(context, 36), button.getMinimumHeight());
|
||||
assertEquals(BossUi.dp(context, 7), button.getPaddingLeft());
|
||||
assertEquals(BossUi.dp(context, 7), button.getPaddingTop());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,8 +96,8 @@ public class ConversationInfoActivityTest {
|
||||
SwitchCompat takeoverSwitch = findFirstSwitch(takeoverRow);
|
||||
|
||||
assertEquals(LinearLayout.HORIZONTAL, takeoverRow.getOrientation());
|
||||
assertEquals(BossUi.dp(activity, 18), takeoverRow.getPaddingLeft());
|
||||
assertEquals(BossUi.dp(activity, 18), takeoverRow.getPaddingRight());
|
||||
assertEquals(BossUi.dp(activity, 14), takeoverRow.getPaddingLeft());
|
||||
assertEquals(BossUi.dp(activity, 14), takeoverRow.getPaddingRight());
|
||||
assertNotNull(takeoverSwitch);
|
||||
assertEquals("", String.valueOf(takeoverSwitch.getText()));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user