Назначить вид для RelativeLayout

Я хочу нарисовать путь, который ограничен одним RelativeLayout, а не весь макет. Итак, у меня есть класс DrawPath:

public class DrawPath extends View {
Paint paint = new Paint();
Path path = new Path();
...

А затем в моей основной деятельности у меня есть этот кусок кода:

RelativeLayout gB_RL = (RelativeLayout)findViewById(R.id.rel_RL);

dp = new DrawPath(this);
dp.setBackgroundColor(Color.WHITE);
// setContentView(dp);

Я закомментировал setContentView(dp); потому что это назначило бы класс DrawPath всему макету. Но я не могу понять, как назначить DrawPath только gB_RL Относительная компоновка

1 ответ

Решение

Все ViewGroup подклассы (такие как RelativeLayout) иметь коллекцию addView() методы, которые вы можете использовать, чтобы добавить новый View в эту ViewGroup.

В этом случае ваш звонок может быть простым gB_RL.addView(dp),

Поскольку вы используете RelativeLayout, вы, вероятно, хотите также создать экземпляр RelativeLayout.LayoutParams и установите это на своем dp Просмотр, чтобы вы могли выровнять dp Посмотреть правильно.

Другие вопросы по тегам