اضافه کردن لایه در editText
سلام بر اساتید حوضه اندروید استودیو جاوا --- این اولین سوالم در این انجمن است باشد که باسخی دریافت کنم و باسخ های زیادی بدهم
در تصویر ضمیمه شده این سوال (حتما تصویر مشاهده کنید) برنامه Note سامسونگ مشاهده میکنید که در ان ابتدا متنی نوشته شده سبس تصویری از گالری انتخاب مجدد متنی نوشته شده سبس صدایی ظبط و نمایش داده شده....
دقیقا منم میخوام همینکارو کنم یعنی هر موقع خواستم با زدن فلان باتن یک لایه یا ویو نمایش داده شه(صرفا مشکلم نمایش نیست)
کارهایی که تا به الان کردم این بوده که با خط کد زیر لایه پخش صدارو اضافه کردم به لایه اصلی
getLayoutInflater().inflate(R.layout.audio_layout, mainLayout);
مشکل اینجاست اونجایی که میخوام قرار نمیگیره میره بالای صفحه ظاهر میشه
در ضمن چیزی که متوجه شدم و باید انجام شه اینه که لایه صدا یا تصویر باید داخل editText قرار بگیره تا مجدد زیرش بشه متن بعدی نوشت
سوال اصلی ***** میخوام بدونم راهی وجود داره بشه فلان layout داخل editText و زیر اخرین متن نوشته شده اضافه کرد؟ چون به نظرم طبق عکس برنامه note سامسونگ همین کارو میکنه و لایه عکس یا صدا جزیی از editText هست.
نیازی به استفاده از getLayoutInflater نیست !
شما میتونید لایه هاتون رو با کد بسازید و به لایه دلخواه اضافه کنید ، برای نمونه کد زیر رو ببینید :
LinerLayout layout = new LinearLayout(this);
layout.gravity(Gravity.CENTER);
Button btn = new Button(this);
btn.setText("BTN");
layout.addview(btn);
setContentView(layout);
اگر نیاز داشته باشید ترتیب قرار گیری یک VIEW در انتها نباشه میتونید برای متد addView یک مقدار index هم اضافه کنید مثلا 0 همیشه View رو در ابتدا قرار میده و این عدد نباید از تعداد Child های موجود در یک لایه بیشتر باشه ، اینکه شما تصور میکنید باید view شما در داخل editText قرار بگیره اشتباهه ، درواقع editText شما باید از قبل درون یک لایه وجود داشته باشید و بعدا لایه ایی که قراره اضافه بشه ، بیاد و در این لایه بشینه
متد inflate یک View به شما میده از روی اون view.findViewByid کنید و View هایی که لازم دارید رو از درونش بگیرید
View itemLayoutView = LayoutInflater.from(this).inflate(R.layout.adapter_home, null);
LinearLayout lytMain = (LinearLayout) itemLayoutView.findViewById(R.id.lytMain);
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .