ورود

View Full Version : نحوه ایجاد TextView توسط کد در جاوا



MansoorJ
یک شنبه 01 شهریور 1394, 10:31 صبح
سلام دوستان

داخل layout اکتیویتی یک LinearLayout دارم که حالا فقط توسط یک حلقه مثلا تعداد 20 تکس ویوو رو ایجاد میکنم تکس ویوو ها روی هم قرار میگیرند و قابل دیدن نیستم
من میخوام وقتی به آخر صفحه رسیدن از خط بعدشروع بشه به ساخت تکس ویوو جدید

ممنون میشم راهنمایی کنید.
یاعلی.

reza.dev
یک شنبه 01 شهریور 1394, 10:40 صبح
چرا از لیست ویو استفاده نمی کنی که هم بهتره هم راحت تر؟

MansoorJ
یک شنبه 01 شهریور 1394, 11:12 صبح
چرا از لیست ویو استفاده نمی کنی که هم بهتره هم راحت تر؟

این تکس ویوو ها قراره کار تاگل باتن رو انجام بدن
من میخوام به این شکل باشه مثلا

TextView TextView TextView TextView TextView TextView
TextView TextView TextView TextView TextV
TextView TextView TextView TextView iew
TextView TextView TextView TextView TextView

ho3ein.3ven
یک شنبه 01 شهریور 1394, 12:54 عصر
کدهایی که نوشتی رو بذار

MansoorJ
یک شنبه 01 شهریور 1394, 13:15 عصر
فایل ایکس ام ال(لیوت)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/search_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="right"
android:orientation="vertical"
android:padding="10dp" >

</LinearLayout>


کد های جاوا

ll=(LinearLayout)findViewById(R.id.search_layout);
final List<String> lst=new ArrayList<String>();
final List<TextView> lsttxt=new ArrayList<TextView>();
lst.add("Text1");
lst.add("Text2");
lst.add("Text3");
lst.add("Text4");
lst.add("Text5");
lst.add("Text6");
for (int i = 0; i < lst.size(); i++) {


final TextView tv1=new TextView(this);
//RelativeLayout rl=new RelativeLayout(this);
RelativeLayout.LayoutParams RllP=new RelativeLayout.LayoutParams(RelativeLayout.LayoutP arams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRA P_CONTENT);
RllP.setMargins(2, 2, 2, 5);
lsttxt.add(tv1);
tv1.setText(lst.get(i));
tv1.setLayoutParams(RllP);
//tv1.setBackgroundColor(getResources().getColor(R.c olor.textviewdefault));
tv1.setBackgroundDrawable(getResources().getDrawab le(R.drawable.textview_search));
tv1.setPadding(10, 10, 10, 10);
Typeface font=Typeface.createFromAsset(getAssets(), "byekan.ttf");
tv1.setTypeface(font);



ll.addView(tv1);
}

ho3ein.3ven
یک شنبه 01 شهریور 1394, 14:46 عصر
فایل ایکس ام ال(لیوت)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/search_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="right"
android:orientation="vertical"
android:padding="10dp" >

</LinearLayout>


کد های جاوا

ll=(LinearLayout)findViewById(R.id.search_layout);
final List<String> lst=new ArrayList<String>();
final List<TextView> lsttxt=new ArrayList<TextView>();
lst.add("Text1");
lst.add("Text2");
lst.add("Text3");
lst.add("Text4");
lst.add("Text5");
lst.add("Text6");
for (int i = 0; i < lst.size(); i++) {


final TextView tv1=new TextView(this);
//RelativeLayout rl=new RelativeLayout(this);
RelativeLayout.LayoutParams RllP=new RelativeLayout.LayoutParams(RelativeLayout.LayoutP arams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRA P_CONTENT);
RllP.setMargins(2, 2, 2, 5);
lsttxt.add(tv1);
tv1.setText(lst.get(i));
tv1.setLayoutParams(RllP);
//tv1.setBackgroundColor(getResources().getColor(R.c olor.textviewdefault));
tv1.setBackgroundDrawable(getResources().getDrawab le(R.drawable.textview_search));
tv1.setPadding(10, 10, 10, 10);
Typeface font=Typeface.createFromAsset(getAssets(), "byekan.ttf");
tv1.setTypeface(font);



ll.addView(tv1);
}





کدات اینجوری تغییر بده :

for (int i = 0; i < lst.size(); i++) {
//RelativeLayout rl=new RelativeLayout(this);
RelativeLayout.LayoutParams RllP=new RelativeLayout.LayoutParams(RelativeLayout.LayoutP arams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRA P_CONTENT);
RllP.setMargins(2, 2, 2, 5);
lsttxt.add(new TextView(this));
lsttxt.get(i).setText(lst.get(i));
lsttxt.get(i).setLayoutParams(RllP);
lsttxt.get(i).setBackgroundDrawable(getResources() .getDrawable(R.drawable.textview_search));
lsttxt.get(i).setPadding(10, 10, 10, 10);
ll.addView(lsttxt.get(i));
}