0

Я хочу отобразить на нем текст с текстом, но он не должен быть вертикальным или горизонтальным, он должен быть под углом 45 °. Я использую RelativeLayout, который содержит TextView и View (для строки). С помощью RelativeLayout.LayoutParams я пытаюсь определить положение x/y RelativeLayout. Горизонтальный дисплей уже работает, но как я могу изменить его, чтобы стать углом 45 °?Android: Как определить угол обзора 45 ° (RelativeLayout) в LinearLayout

RelativeLayout branch_layout = (RelativeLayout) this 
      .findViewById(R.id.createrelativelayout); 

    LinearLayout branch_item = new LinearLayout(this); 
    branch_item.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 
      LayoutParams.WRAP_CONTENT)); 
    branch_item.setOrientation(1); 
    TextView tv = new TextView(this); 
    tv.setLayoutParams(new RelativeLayout.LayoutParams(pos, pos)); 
    tv.setId(id); 
    tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 
      LayoutParams.WRAP_CONTENT)); 
    tv.setPadding(20, 0, 20, 0); 
    tv.setText(branch_name); 
    tv.setOnClickListener(this); 

    Rect bounds = new Rect(); 
    Paint textPaint = tv.getPaint(); 
    textPaint.getTextBounds(branch_name, 0, branch_name.length(), bounds); 
    View underline = new View(this); 
    underline.setLayoutParams(new LayoutParams(bounds.width() + 40, 1)); 
    underline.setBackgroundColor(Color.parseColor("#000000")); 

    branch_item_layout = new RelativeLayout(this); 
    branch_item_layout.setLayoutParams(new LayoutParams(
      LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
      LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
    Display display = getWindowManager().getDefaultDisplay(); 
    //x 
    params.leftMargin = display.getWidth()/2; 
    //y 
    params.topMargin = ((display.getHeight()/2)-(((LinearLayout) this 
      .findViewById(R.id.createlinearlayout3)).getWidth()/2)-48); 

    //end x 
    params.bottomMargin = params.leftMargin + bounds.width(); 
    //end y 
    params.rightMargin = (int) (params.leftMargin - (bounds.width()*Math.sin(45))); 

    branch_item.addView(tv); 
    branch_item.addView(underline); 

    branch_item_layout.addView(branch_item, params); 
    branch_layout.addView(branch_item_layout); 

реализация экрана Всей только для «пейзажа» х 0-800, 0-440 у Щас

first x = 400 
first y = 114 
end x = 434 
end y = 371 

Запланированные был для отображения строки и строк вместе под углом 45 ° , Длина линии ориентируется на ширину строки.

Надежда кто-то может помочь мне с этой дилеммой,

Саския

ответ

0

проблема из-за х и у позиции было то, что RelativeLayout стал очень большим. Итак, я удалил layout branch_item_layout и добавил параметр и анимацию в branch_item.

Увидимся,

Саския

+0

Не отвечать каждый раз .. просто изменить свой первый ответ. – SERPRO

Смежные вопросы