Я делаю приложение, похожее на Facebook, где у меня есть лента новостей, которая показывает все сообщения.Тем не менее, количество сообщений в этом фиде варьируется в зависимости от каждого пользователя, в зависимости от количества друзей, которых они имеют, и сколько постов они сделали.Я хочу создать CardView для каждого элемента сообщения, в котором будет отображаться имя пользователя, который его опубликовал, время публикации и само сообщение.Макет будет разделен по горизонтали один раз с сообщением в нижней половине и именем человека с указанием времени, когда оно было опубликовано в верхней половине.
В настоящее время я могу найти способы сделать это только путем изменения xmlтекст, но я хочу создать эти CardViews, как и когда они мне нужны, в моем коде Java.
Я знаю, что могу изменить TextViews, используя такие функции, как setText
() и setTextSize
().Есть ли способ для меня использовать аналогичные функции на CardView, которые могут изменить базовый макет.
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
CardView TVcard = new CardView(Home.this);
TextView TVposts = new TextView(Home.this);
TextView test = new TextView(Home.this);
TVcard.addView(TVposts);
TVcard.addView(test);
test.setText("test");
test.setBackgroundColor(Color.GREEN);
TVposts.setText(snapshot.getValue().toString());
TVposts.setTextColor(Color.WHITE);
TVposts.setTextSize(25);
TVposts.setBackgroundColor(Color.BLACK);
TVposts.setHeight(200);
linearLayout.addView(TVcard);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) TVcard.getLayoutParams();
params.setMargins(0, 20, 0, 0);
TVcard.setLayoutParams(params);
}
Спасибо