我有两个菜单按钮,在其中单击一个创建新的“文本视图”,从已添加可绘制区域中添加另一个按钮,然后单击“创建”。活动。 每次单击它都应添加新的贴纸图像视图。
主要活动文件
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.main_add_sticker) {
Intent intent = new Intent(this, StickerSelectActivity.class);
startActivityForResult(intent, SELECT_STICKER_REQUEST_CODE);
return true;
} else if (item.getItemId() == R.id.main_add_text) {
addTextSticker();
}else if (item.getItemId() == R.id.main_add_image){
}
return super.onOptionsItemSelected(item);
}
protected void addTextSticker() {
TextLayer textLayer = createTextLayer();
TextEntity textEntity = new TextEntity(textLayer, motionView.getWidth(),
motionView.getHeight(), fontProvider);
motionView.addEntityAndPosition(textEntity);
// move text sticker up so that its not hidden under keyboard
PointF center = textEntity.absoluteCenter();
center.y = center.y * 0.5F;
textEntity.moveCenterTo(center);
// redraw
motionView.invalidate();
startTextEntityEditing();
}
private TextLayer createTextLayer() {
TextLayer textLayer = new TextLayer();
Font font = new Font();
font.setColor(TextLayer.Limits.INITIAL_FONT_COLOR);
font.setSize(TextLayer.Limits.INITIAL_FONT_SIZE);
font.setTypeface(fontProvider.getDefaultFontName());
textLayer.setFont(font);
if (BuildConfig.DEBUG) {
textLayer.setText("Hello, world :))");
}
return textLayer;
}
main_menu的XML
<item
android:id="@+id/main_add_sticker"
android:icon="@drawable/ic_add"
android:title="@string/add_sticker"
app:showAsAction="ifRoom"
/>
<item
android:id="@+id/main_add_text"
android:icon="@drawable/ic_add_text"
android:title="@string/add_text"
app:showAsAction="ifRoom"
/>
<item
android:id="@+id/main_add_image"
android:icon="@drawable/ic_add_text"
android:title="@string/add_image"
app:showAsAction="ifRoom"
/>
答案 0 :(得分:0)
尝试setVisible()
。创建一个ImageView
并添加属性ImageView.setVisible(false)
。您可以从Java代码中申请ImageView.setVisible(true)
。
答案 1 :(得分:0)