可变自定义视图和 Android Studio Design/Layout 编辑器
Variable Custom View and Android Studio Design/Layout Editor
有一个简单的Custom_TextView
。例如,这是带边框的常规 TextView
。
有一个 Custom_TextBar
,设计如下:Custom_TextView + Custom_TextView + ...
也就是说,这是几个Custom_TextViews
,一个接一个,正文是从变长列表中取出来的。名单事先不得而知。
Custom_TextBar = Custom_TextView + Custom_TextView + …
带有文本(和字体大小、边距)的列表被发送到 Custom_TextBar
,它绘制了几个 Custom_TextView
。
一切正常。
问题.
如何强制 Android Studio Design / Layout Editor 显示,例如,一种空矩形来设计片段的其他组件?
例如,假设一个列表有 3 个相同的元素。
我不是第一次注意到通过在 SO 上提问我找到了答案,这不是故意的;)
所以,解决方案:
// in Custom_TextBar
public TextBar(Context context, AttributeSet attrs) {
super(context, attrs);
init(context, attrs);
}
public void init(Context context, AttributeSet attrs) {
// ... everything is as usual
// ...
if (textDataList == null) {
stub();
}
}
private void stub() {
// ...
for (int i = 0; i < 3; i++) {
View textView = new TextRectangle(getContext(),
new TextRectangleData("test" + i), textSize, margins, ...);
// ...
}
}
有一个简单的Custom_TextView
。例如,这是带边框的常规 TextView
。
有一个 Custom_TextBar
,设计如下:Custom_TextView + Custom_TextView + ...
也就是说,这是几个Custom_TextViews
,一个接一个,正文是从变长列表中取出来的。名单事先不得而知。
Custom_TextBar = Custom_TextView + Custom_TextView + …
带有文本(和字体大小、边距)的列表被发送到 Custom_TextBar
,它绘制了几个 Custom_TextView
。
一切正常。
问题.
如何强制 Android Studio Design / Layout Editor 显示,例如,一种空矩形来设计片段的其他组件?
例如,假设一个列表有 3 个相同的元素。
我不是第一次注意到通过在 SO 上提问我找到了答案,这不是故意的;)
所以,解决方案:
// in Custom_TextBar
public TextBar(Context context, AttributeSet attrs) {
super(context, attrs);
init(context, attrs);
}
public void init(Context context, AttributeSet attrs) {
// ... everything is as usual
// ...
if (textDataList == null) {
stub();
}
}
private void stub() {
// ...
for (int i = 0; i < 3; i++) {
View textView = new TextRectangle(getContext(),
new TextRectangleData("test" + i), textSize, margins, ...);
// ...
}
}