Как создать вид карты с определенной разметкой, используя только Java (Android Studio) - PullRequest
0 голосов
/ 11 марта 2019

Я делаю приложение, похожее на 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);
}

Спасибо

...