Die Schaltfläche, die Sie erwähnt haben, befindet sich in der Layout-XML-Datei Ihrer Aktivität? Wenn ja, könnten Sie den Code bereitstellen? setContentView() zeigt nur den Kreis an. Wenn Sie den Kreis zu Ihrem bestehenden Layout hinzufügen möchten, müssen Sie ihn zu einer ViewGroup im XML Ihrer Aktivität hinzufügen.
public class AnotherTest extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.anothertest_activity);
}
}
Und die (res/layout /) wie folgt anothertest_activity.xml Datei aussehen könnte:
Sie so etwas tun könnte
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<your.package.Circle
android:id="@+id/myCircle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
In Android Studio, Direkt unter dem XML-Code befinden sich zwei Registerkarten: "Design" und "Text". Wechseln Sie zu "Text", um Code einzufügen, wechseln Sie zurück zu "Design", um Ihre Elemente zu positionieren.
Wenn Sie Ihre Ansichten ziehen, haben Sie eine Layout-XML-Datei. In der Aktivität müssen Sie diese Datei als Ihre Inhaltsansicht festlegen, andernfalls würden Sie Ihre Ansichten nicht sehen. Aber Sie können Ansichten dynamisch hinzufügen, indem Sie so etwas wie dies zu tun:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_viewgroup"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
Und in Ihrer Aktivität:
public class AnotherTest extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Still your xml with your button but without circle
setContentView(R.layout.anothertest_activity);
// First find your ViewGroup to add Views to
RelativeLayout viewGroup = (RelativeLayout) findViewById(R.id.my_viewgroup);
// Add a new circle to existing layout
viewGroup.addView(new Circle());
}
}
Sie auch alles dynamisch hinzufügen könnte:
public class AnotherTest extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ViewGroup viewGroup = new LinearLayout(this);
setContentView(viewGroup);
viewGroup.addView(new Button());
viewGroup.addView(new Circle());
}
}
aber ich empfehlen, mit XML-Layouts Vielleicht wollen Sie einen Blick auf Android Layouts
Nein, zog ich aus der Umgebung (Android Studio) auf die Aktivität. – NUN
Könnte es nur durch Code gemacht werden? Wie auch immer, danke und ich werde deine Antwort versuchen. – NUN
Was wäre, wenn onDraw so etwas tun würde: ... onDraw (Canvas Canvas) {Paint p = new Paint; für (int i = 0; i <20; i ++) { canvas.drawCircle ((int) Math.random() * 150, (int) Math.random() * 150, 20, paint); } Würde es von XML-Layouts gemacht werden? – NUN