Назначить вид для 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
Посмотреть правильно.