Erstellen Sie das Layout Programmatisch in der android - Ausgabe
Ich Schaffe FrameLayout dynamisch mit dem folgenden code
mylayout.java
FrameLayout layout = new FrameLayout(this);
FrameLayout.LayoutParams layoutparams=new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT,Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);
layout.setLayoutParams(layoutparams);
webview=new WebView(this);
webview.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT));
splashview=new ImageView(this);
splashview.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT));
splashview.setScaleType(ScaleType.FIT_XY);
splashview.setImageResource(R.drawable.splash);
splashview.setVisibility(View.INVISIBLE);
progressbar=new ProgressBar(this);
FrameLayout.LayoutParams params=new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.MATCH_PARENT,Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);
progressbar.setLayoutParams(params);
progressbar.setVisibility(View.INVISIBLE);
layout.addView(webview);
layout.addView(progressbar);
layout.addView(splashview);
setContentView(layout);
mylayout.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical|center_horizontal"
android:gravity="center_vertical|center_horizontal" >
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</WebView>
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="invisible" />
<ImageView
android:id="@+id/splashscreen"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/myimg"
android:scaleType="fitXY"
android:src="@drawable/splash"
android:visibility="invisible" />
</FrameLayout>
Brauche ich die equalent code for the above xml file in java
. was für Fehler ich gemacht haben?
Hinweis: Mit dem obigen java-code, die jeweils zu überlappen.
- was für Fehler ich gemacht haben? -- was für Fehler hast du bemerkt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Android Developer - Frame-Layout-Dokumentation liest:
In der Regel, FrameLayout sollte verwendet werden, um ein einzelnes Kind anzeigen, da es schwierig sein kann, sich zu organisieren untergeordneten Ansichten in einer Weise, die skalierbar und lässt sich an verschiedene Bildschirmgrößen an, ohne die Kinder, die sich gegenseitig überlappen. Sie können jedoch, fügen Sie mehrere Kinder in ein FrameLayout und Kontrolle Ihrer position innerhalb der FrameLayout durch die Zuordnung der Schwerkraft, um jedes Kind mit Hilfe der
android:layout_gravity
Attribut.In Ihrem Fall, können Sie
layout.setForegroundGravity(int)
für die gleichen.Hinzufügen
oder
Haben Sie vergessen, setzen Sie die Schwerkraft des Layouts.