android ExpandableLayout能够让子View隐藏和展开,伸缩菜单
<attr name="titleHeight" format="dimension" />
<attr name="titleBgColor" format="color" />
<attr name="titleName" format="string" />
<attr name="titleNameColor" format="color" />
<attr name="titleNameSize" format="dimension|reference" />
<attr name="titleIcon" format="reference" />
<attr name="animDuration" format="integer" />
<attr name="expandDrawable" format="reference" />
<attr name="collapseDrawable" format="reference" />
<attr name="isCollapse" format="boolean" />
<attr name="mtextRight" format="string" localization="suggested" />
<attr name="mtextRightColor" format="color" />
<attr name="mtextRightSize" format="dimension" />
<attr name="mdisplayArrow" format="boolean" />
<attr name="mdisplaySwitch" format="boolean" />
<attr name="mdividerVisibility" format="boolean" />
| 属性 | 释义 |
|---|---|
| titleHeight | title高度 |
| titleBgColor | title背景色 |
| titleName | title标题 |
| titleNameColor | title标题颜色 |
| titleNameSize | title标题字体大小 |
| titleIcon | title图标 |
| animDuration | 收缩动画时间 |
| expandDrawable | title展开时右图标 |
| collapseDrawable | title折叠时右图标 |
| isCollapse | title是否折叠 |
| mtextRight | title右标题 |
| mtextRightColor | title右标题颜色 |
| mtextRightSize | title右标题字体大小 |
| mdisplayArrow | 是否显示右图标 |
| mdisplaySwitch | 是否显示开关 |
| mdividerVisibility | 是否显示分割线 |
监听展开与折叠
expandableLayout.setOnExpandStateChangeListener(new ExpandableLayout.OnExpandStateChangeListener() {
@Override
public void onExpandStateChanged(boolean isExpanded) {
if (isExpanded) {
Toast.makeText(MainActivity.this, "展开", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "折叠", Toast.LENGTH_SHORT).show();
}
}
});
动态添加子VIEW
TextView textView = new TextView(this);
textView.setTextSize(28);
textView.setText("O(∩_∩)O哈哈~");
textView.setGravity(Gravity.CENTER);
textView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300));
expandableLayout2.addView(textView);
