java - Textviews in RelativeLayout not appearing below each other programatically -
i'm trying poisition textviews below text view within relativelayout, reason it's not working:
import android.graphics.color; import android.os.bundle; import android.support.annotation.nullable; import android.support.v4.widget.textviewcompat; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.gridlayout.layoutparams; import android.widget.relativelayout; import android.widget.textview; import com.companyname.projectname.r; import static com.companyname.projectname.r.id.fl_relativelayout; public class fragmentfl extends android.support.v4.app.fragment { public fragmentfl() { } @override public view oncreateview(layoutinflater inflater, @nullable viewgroup container, @nullable bundle savedinstancestate) { return inflater.inflate(r.layout.fragment_fl, container, false); } @override public void onactivitycreated(@nullable bundle savedinstancestate) { view v = getview(); assert v != null; relativelayout relativelayout = v.findviewbyid(fl_relativelayout); relativelayout.layoutparams rlp = new relativelayout.layoutparams(layoutparams.wrap_content, layoutparams.wrap_content); // add text views textview txt1 = new textview(getactivity()); txt1.settext("blue"); textviewcompat.settextappearance(txt1, android.r.style.textappearance_large); txt1.settextcolor(color.black); textview txt2 = new textview(getactivity()); txt2.settext("black"); textviewcompat.settextappearance(txt2, android.r.style.textappearance_medium); txt2.settextcolor(color.black); textview txt3 = new textview(getactivity()); txt3.settext("green"); textviewcompat.settextappearance(txt3, android.r.style.textappearance_large); txt3.settextcolor(color.black); textview txt4 = new textview(getactivity()); txt4.settext("red"); textviewcompat.settextappearance(txt4, android.r.style.textappearance_medium); txt4.settextcolor(color.black); textview txt5 = new textview(getactivity()); txt5.settext("yellow"); textviewcompat.settextappearance(txt5, android.r.style.textappearance_large); txt5.settextcolor(color.black); textview txt6 = new textview(getactivity()); txt6.settext("white"); textviewcompat.settextappearance(txt6, android.r.style.textappearance_medium); txt6.settextcolor(color.black); txt1.setid(view.generateviewid()); txt2.setid(view.generateviewid()); txt3.setid(view.generateviewid()); txt4.setid(view.generateviewid()); txt5.setid(view.generateviewid()); txt6.setid(view.generateviewid()); rlp.addrule(relativelayout.below, txt1.getid()); rlp.addrule(relativelayout.below, txt2.getid()); rlp.addrule(relativelayout.below, txt3.getid()); rlp.addrule(relativelayout.below, txt4.getid()); rlp.addrule(relativelayout.below, txt5.getid()); txt2.setlayoutparams(rlp); txt3.setlayoutparams(rlp); txt4.setlayoutparams(rlp); txt5.setlayoutparams(rlp); txt6.setlayoutparams(rlp); relativelayout.addview(txt1); relativelayout.addview(txt2); relativelayout.addview(txt3); relativelayout.addview(txt4); relativelayout.addview(txt5); relativelayout.addview(txt6); super.onactivitycreated(savedinstancestate); } }
you need use different layoutparams each textview in
rlp.addrule(relativelayout.below, txt1.getid()); rlp1.addrule(relativelayout.below, txt2.getid()); rlp2.addrule(relativelayout.below, txt3.getid()); rlp3.addrule(relativelayout.below, txt4.getid()); rlp4.addrule(relativelayout.below, txt5.getid()); txt2.setlayoutparams(rlp); txt3.setlayoutparams(rlp1); txt4.setlayoutparams(rlp2); txt5.setlayoutparams(rlp3); txt6.setlayoutparams(rlp4); 
Comments
Post a Comment