Ich füge Ansichten programmatisch in FrameLayout
:Ansichten sind unsichtbar, nachdem sie in Viewgroup hinzugefügt wurde
public class PixelGridView extends FrameLayout {
...
public void addViewWithoutCoords(TableView view, int column, int row) {
float x = column * mCellSideSize;
float y = row * mCellSideSize;
FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
view.setLayoutParams(lp);
view.setLeft(0);
view.setTop(0);
view.setX(x);
view.setY(y);
view.setVisibility(VISIBLE);
addView(view);
}
...
}
Doch alle sind sie irgendwie unsichtbar. getChildCount()
Rückgaben zählen mit allen von ihnen. getVisibility()
für jede hinzugefügte Ansicht gibt auch VISIBLE
zurück.
Ich kann solche Ansichten von einem anderen ViewGroup
in meine Framelayout
ziehen und wenn ich dies tue, werden alle früher hinzugefügten Ansichten sichtbar.
view
Layout-Datei:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<ImageView
android:id="@+id/ivTable"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
<EditText
android:id="@+id/ivTableName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@color/style_table_grey"
android:textColor="@android:color/white"/>
</RelativeLayout>
Auch wenn ich sichtbar, ohne drag alles werden neue Ansicht hinzuzufügen.
Meinst du 'RelativeLayout' Ansichten können unter' FrameLayout' sein? –
Sie haben meinen Tag gemacht)) Ich habe Code in "ViewTreeObserver.OnGlobalLayoutListener()" platziert und das ist es) –
Ich meine alle Artikel Ansichten, die in der 'RelativeLayout' oder' FrameLayout' werden überlappt oder corvered von wenn Sie sind in der gleichen Position. – DysaniazzZ