Superposition de texte sur imageview dans framelayout par programme - Android
Je suis en train de mettre en œuvre un textview sur une image dans un framelayout au centre et en bas de la mise en page car il est vu ici:
http://developer.android.com/resources/articles/layout-tricks-merge.html
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="center"
android:src="@drawable/golden_gate" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:layout_gravity="center_horizontal|bottom"
android:padding="12dip"
android:background="#AA000000"
android:textColor="#ffffffff"
android:text="Golden Gate" />
</FrameLayout>
Je suis en train de mettre en œuvre la présente par programme, mais avec pas de chance.. j'ai toujours le textview sur le coin en haut à gauche..quelqu'un peut-il aider? Voici mon code:
FrameLayout frameLay = new FrameLayout(MainScreen.this);
LayoutParams layoutParamsFrame = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
frameLay.setLayoutParams(layoutParamsFrame);
LinearLayout.LayoutParams layoutParamsImage= new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
ImageView imageView= new ImageView(MainScreen.this);
imageView.setImageResource(R.drawable.movie);
imageView.setLayoutParams(layoutParamsImage);
TextView theText=new TextView(MainScreen.this);
theText.setText("GOLDEN Gate");
theText.setTextColor(Color.WHITE);
theText.setTypeface(Typeface.DEFAULT_BOLD);
LayoutParams layoutParamsText= new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
theText.setLayoutParams(layoutParamsText);
theText.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM);
frameLay.addView(theText);
frameLay.addView(imageView);
OriginalL'auteur andreasv | 2011-10-09
Vous devez vous connecter pour publier un commentaire.
Tout ce que vous devez faire ias faire le textview pour remplir la mère comme la
Lorsque vous définissez la gravité de la textview, cela signifie que vous dites la textview où la position de ses enfants. Mais depuis votre textview seulement la taille de votre texte, la gravité l'habitude de montrer toute la différence. Donc il suffit de faire le textview pour remplir le parent.
Mais je pense que RelativeLayout est beaucoup plus adapté pour ce que l'FrameLayout. À l'aide de la RelativeLayout c'est à quoi il devrait ressembler
un million de mercis
OriginalL'auteur blessenm
Au lieu d'un FrameLayout, vous pouvez essayer d'utiliser un RelativeLayout que le conteneur. De cette façon, vous pouvez placer la superposition de texte n'importe où vous voulez. Ce qui devrait travailler pour vous est d'affecter les éléments suivants à votre TextView dans un RelativeLayout:
Vous pourrez ensuite affiner le placement avec des marges.
OriginalL'auteur SBerg413