我正在爲此背後的邏輯苦苦掙扎,因此我們將不勝感激。我有兩個類,一個是創建片段的,另一個是創建自定義視圖的類,我試圖做一些動畫。在主佈局中,我有一個編輯文本字段和一個按鈕。我想要做的是在單擊按鈕時添加到自定義視圖中,編輯文本中的文本將被添加到自定義視圖中。思考如何做到這一點,我正在畫一個空白,我開始認爲這是不可能的。我應該在自定義視圖中創建編輯文本嗎?這裏是代碼顯示我在做什麼(但卡在下一步,或者我是否應該放棄這一做法,並嘗試不同的一個)改變主要活動中的按鈕單擊畫布
主要片段
public class DestroyerView extends Fragment
{
private Context mContext;
Paint paint = new Paint();
private AnimatedNegative PositiveAnimatedNegative;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
mContext = this.getActivity();
View view = inflater.inflate(R.layout.activity_destroyer, container, false);
final Button fire = (Button) view.findViewById(R.id.destroy);
PositiveAnimatedNegative = (AnimatedNegative) view.findViewById(R.id.anim_view);
fire.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
// logic here?
}
});
return view;
}
}
public AnimatedNegative(Context context, AttributeSet attrs)
{
super(context, attrs);
mContext = this.getContext();
h = new Handler();
mCalendarDbHelper=new CalendarDbAdapter(mContext);
mCalendarDbHelper.open();
}
private Runnable r= new Runnable()
{
@Override
public void run()
{
invalidate();
}
};
protected void onDraw (Canvas canvas)
{
String word = "This is a sentence";
paint.setColor(Color.parseColor("#1E90FF"));
paint.setStyle(Style.FILL);
canvas.drawPaint(paint);
paint.setColor(Color.BLACK);
paint.setTextSize(20);
x = this.getWidth()/2;
y = this.getHeight()/2;
canvas.drawText(word, x, y, paint);
}
}
...現在如果我可以在自定義視圖內引用按鈕,這會容易得多,但似乎我無法做到這一點,或者如果我可以簡單地添加到主活動類的自定義視圖中,但它不會似乎我可以做到這一點(不是沒有創建一個新的畫布,這似乎是做了太多的事情,我想要做什麼(只是添加單詞))。那麼,最後,我目前正在試圖做到這一點的死路?任何幫助,將不勝感激。