J'ai créé un exemple de projet et exécuté "Hello Android Application" dans Eclipse.
J'ai appris qu'une Textview peut être créée de deux manières: en utilisant une balise XML ou en utilisant du code Java.
Par défaut, j'ai un Textview disant "Hello world" dans mon exemple de projet. Je souhaite créer une vue Textview à l'aide de code Java et y afficher un message.
J'ai beaucoup cherché, mais je suis incapable de comprendre les étapes et les paramètres de disposition mentionnés dans le code.
Voici ce que j'ai fait:
import Android.app.Activity;
import Android.view.Menu;
import Android.view.ViewGroup;
import Android.widget.*;
import Android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout.LayoutParams params =
new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT, 0.0F);
TextView tx= new TextView(this);
// tx.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
tx.setText("Android APP");
lay
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
De plus, je ne sais pas comment ajouter cette vue de texte dans addView()
.
C'est mon activity_main.xml
:
<RelativeLayout 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"
tools:context=".MainActivity" >
</RelativeLayout>
Une solution étape par étape me serait utile et tout bon lien de tutoriel serait appréciable. Merci d'avance!
Utiliser ce code, Créer une vue texte et définir les paramètres de mise en page
TextView dynamicTextView = new TextView(this);
dynamicTextView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
dynamicTextView.setText(" Hello World ");
ajouter cette textview à la disposition principale
mainlayout.addView(dynamicTextView);
Fichier .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:paddingBottom="@dimen/activity_vertical_margin"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingRight="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.demo.MainActivity" >
<TextView
Android:id="@+id/textView1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"/>
</LinearLayout>
Fichier .Java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String name="Prakash Gajera";
TextView tv=(TextView)findViewById(R.id.textView1);
tv.setText(name);
}
copiez et collez ce code en espérant que cela vous aidera.
import Android.app.Activity;
import Android.view.Menu;
import Android.view.ViewGroup;
import Android.widget.*;
import Android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout ll = new LinearLayout(this);
TextView tx= new TextView(this);
tx.setText("Android APP");
ll.addView(tx);
setContentView(ll);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
ajoutez le textView au linearlayout comme ceci . linearLayout.addView (textView).
Avant de créer une instance pour la représentation linéaire.
Il est recommandé d’utiliser XML pour définir les dispositions. Ne créez View
s que lorsque vous devez les créer dynamiquement.
Si vous voulez vraiment créer TextView
s par code, vous devez avoir une référence à la disposition parente. Ainsi, au lieu de définir directement la vue du contenu sur une présentation XML, vous devez gonfler la présentation XML, puis définir la vue du contenu sur View
. Exemple:
View view = LayoutInflater.from(this).inflate(R.layout.activity_main, null);
setContentView(view);
LinearLayout.LayoutParams params =
new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT, 0.0F);
TextView tx= new TextView(this);
// tx.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
tx.setText("Android APP");
view.addView(tx); //here the textview is attached to the parent
Code:
TextView textView = new TextView(this);
textView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
textView.setText("Test");
mainlayout.addView(textView );
essaye ça
import Android.app.Activity;
import Android.view.Menu;
import Android.view.ViewGroup;
import Android.widget.*;
import Android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout layout = (LinearLayout)findViewById(yourlayoutid from xml file);
LinearLayout.LayoutParams params =
new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT, 0.0F);
TextView tx= new TextView(this);
// tx.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
tx.setText("Android APP");
layout.add(tx);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
En supposant que vous ayez une disposition racine dans le fichier .xml avec l'id "my_root"
LinearLayout my_root = (LinearLayout) findViewById(R.id.my_root);
Créer une nouvelle mise en page:
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
Créer un TextView:
TextView textView = new TextView(this);
Définir du texte:
textView.setText("some text");
Ajoutez votre TextView à la mise en page:
layout.addView(textView);
Enfin, ajoutez votre mise en page à la mise en page racine:
my_root.addView(layout);
Conception
<TextView
Android:id="@+id/textview"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"/>
Java
TextView tv = findViewById(R.id.textview);
tv.setText("Kirubha");