我是Android的新手 我正在尝试创建一个简单的绘图应用程序,我想用手指绘制并添加形状(圆形,矩形等)。
到目前为止,我可以用手指画画并使用 this answer我能够创建一个矩形形状。
我想要实现的是,当我用手指画画时,当我点击绘制矩形按钮时,我得到了矩形形状,我将能够绘制这个形状。
但是我在 DrawingView 上添加这个矩形形状时遇到了问题。
MainActivity.java
public class MainActivity extends Activity
{
private DrawingView drawView;
private DrawRectangleView drawRectView;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
drawView = (DrawingView) findViewById(R.id.drawing);
}
public void rectangleClicked(View view)
{
Log.i("---Log---","Button clicked");
// how to call DrawRectangleView and add it to DrawingView ???
}
}
main_activity.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<com.example.test.DrawingView
android:id="@+id/drawing"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_marginBottom="3dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="3dp"
android:layout_weight="1"
android:background="#FFFFFFFF" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="rectangleClicked"
android:text="Draw Rectangle" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:0)
我也是新手。这就是我所做的,不确定这是否是一个好的方法,但这里是......
在按钮的onClick方法中执行以下操作:
public void rectangleClicked(View view)
{
Log.i("---Log---","Button clicked");
drawRectView.setValue("rectangle");
}
在DrawRectangleView类中,只需定义一个字符串变量并定义一个setter方法:
public void setValue(String val) {
testVar = val;
}
之后只需
<强> P.S 强> 我认为你应该使用自定义视图而不是使用两个不同的视图。