0

I have a method that creates 3 textViews in a vertical LinearLayout:

public LinearLayout CreateLayout() {

    LinearLayout aLap = new LinearLayout(this);

    LinearLayout.LayoutParams TextParams = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.WRAP_CONTENT,
            LinearLayout.LayoutParams.WRAP_CONTENT);

    TextView txtName = new TextView(this);
    txtName.setText(result1);

    txtName.setLayoutParams(TextParams);
    txtName.setGravity(Gravity.CENTER);
    txtName.setPadding(20, 8, 20, 4);
    txtName.setTextSize(20);
    txtName.setTextColor(Color.parseColor("#000000"));

    TextView txtTime = new TextView(this);
    txtTime.setText(result2);
    txtTime.setLayoutParams(TextParams);
    txtTime.setGravity(Gravity.CENTER);
    txtTime.setTextSize(20);
    txtTime.setPadding(20, 4, 10, 4);
    txtTime.setTextColor(Color.parseColor("#000000"));

    android.view.ViewGroup.LayoutParams Params = new ViewGroup.LayoutParams(
            android.view.ViewGroup.LayoutParams.MATCH_PARENT, 150);

    TextView rep = new TextView(this);
    String Rep = sharedPrefs.getString("R_PREFS", "2");

    rep.setLayoutParams(TextParams);
    rep.setGravity(Gravity.CENTER);
    rep.setTextSize(20);
    rep.setPadding(20, 4, 10, 4);
    rep.setTextColor(Color.parseColor("#000000"));
    rep.setText("Test: " + Rep);

    aLap.setLayoutParams(Params);
    aLap.setBackgroundResource(R.drawable.bg);
    aLap.setOrientation(LinearLayout.VERTICAL);
    aLap.setPadding(3, 3, 3, 3);
    aLap.addView(txtName);
    aLap.addView(txtTime);
    aLap.addView(rep);

    return aLap;

}

I use a vertical layout since I want the textViews to be placed under each other. Now I want an ImageView to be placed to the right of this textViews and centered vertically. Is that possible?

Cœur
  • 37,241
  • 25
  • 195
  • 267
Droidman
  • 11,485
  • 17
  • 93
  • 141

2 Answers2

1

You can not achieve desired output with a single LinearLayout. I would suggest you use RelativeLayout. It's more flexible. You can add more child-views to RelativeLayout at desired positions by adding rules to the views. Check this post on how to add rules when working with Relative Layout at runtime: How to lay out Views in RelativeLayout programmatically?.

Community
  • 1
  • 1
Gagan
  • 1,497
  • 1
  • 12
  • 27
0
<LinearLayout  orientation="horizontal">
  <LinearLayout orientation="vertical">
    <TextView view1/>
    <TextView view1/>
    <TextView view1/>
  </LinearLayout>
  <ImageView height=fill_parent scaleType="center"/>
</LinearLayout>

Is more or less what you want I think

Gabe Sechan
  • 90,003
  • 9
  • 87
  • 127