简体   繁体   中英

Add 2 TextView into LinearLayout(one align left and one align right)

Here is what I've done so far:

LinearLayout category_layout = new LinearLayout(getActivity());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams (LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(15, 5, 5, 10);
category_layout.setLayoutParams(params);
//Add Category Title
TextView category_title = new TextView(getActivity());
category_title.setText("MEN " + i);
category_title.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
category_title.setPadding(10,0,0,0); category_title.setTextColor(getResources().getColor(R.color.text_color));
category_title.setTypeface(null, Typeface.BOLD);
category_layout.addView(category_title);
TextView category_more = new TextView(getActivity());
category_more.setText("MORE");
LinearLayout.LayoutParams lp_ineer_ver = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp_ineer_ver.gravity = Gravity.RIGHT;
category_more.setLayoutParams(lp_ineer_ver);
category_more.setPadding(0,0,10,0);
category_more.setTextColor(getResources().getColor(R.color.text_color));
category_more.setTypeface(null, Typeface.BOLD);
category_more.setGravity(Gravity.RIGHT);
category_layout.addView(category_more);

Now the TextView "More" don't show up,but If I try to comment the line

category_layout.addView(category_title);

then it show and align right perfectly. What happened? Any idea, Please help!!!

Try this:

You need to set width to Wrap content in first textview .

category_title.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CON‌​TENT,
LinearLayout.LayoutParams.WRAP_CONTENT));

sample code

LinearLayout category_layout = new LinearLayout(getActivity());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams
(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(15, 5, 5, 10);
category_layout.setLayoutParams(params);

 //Add Category Title
 TextView category_title = new TextView(getActivity());
 category_title.setText("MEN " + i);
 category_title.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CON‌​TENT, LinearLayout.LayoutParams.WRAP_CONTENT));
 category_title.setPadding(10,0,0,0);
 category_title.setTextColor(getResources().getColor(R.color.text_color));
 category_title.setTypeface(null, Typeface.BOLD);          
 category_layout.addView(category_title);


 TextView category_more = new TextView(getActivity());
 category_more.setText("MORE");
 LinearLayout.LayoutParams lp_ineer_ver = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
 lp_ineer_ver.gravity = Gravity.RIGHT;
 category_more.setLayoutParams(lp_ineer_ver);
 category_more.setPadding(0,0,10,0);
 category_more.setTextColor(getResources().getColor(R.color.text_color));
 category_more.setTypeface(null, Typeface.BOLD);
 category_more.setGravity(Gravity.RIGHT);

 category_layout.addView(category_more);

Assign weightsum and weights to divide space into equal halfs

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams
                                (LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
                        category_layout.setWeightSum(2);
                        params.setMargins(15, 5, 5, 10);
                        category_layout.setLayoutParams(params);

    LinearLayout.LayoutParams titleParams = (LinearLayout.LayoutParams) category_layout.getLayoutParams();
    titleParams.weight = 1;
    category_title.setGravity(Gravity.START);
    category_title.setLayoutParams(titleParams);

    LinearLayout.LayoutParams moreParams = (LinearLayout.LayoutParams) category_layout.getLayoutParams();
    moreParams.weight = 1;
    category_more.setGravity(Gravity.END);
    category_more.setLayoutParams(moreParams);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM