Недавно начал заниматься в Android Studio. Постоянно обращаюсь для решения вопросов на этот ресурс. Однако сейчас ответа на свой вопрос я не нашел.
Задача: задать случайный размер высоты view
элемента в приложении.
Проблема: случайное значение применяется в элементе как px
, а необходимо задать как dp
.
Код приложен ниже:
private int x, y, z;
View1 = (TextView) findViewById(R.id.View1);
View2 = (TextView) findViewById(R.id.View2);
View3 = (TextView) findViewById(R.id.View3);
SecureRandom random1 = new SecureRandom();
x = random1.nextInt(39) + 1;
SecureRandom random2 = new SecureRandom();
y = random2.nextInt(39) + 1;
SecureRandom random3 = new SecureRandom();
z = random3.nextInt(39) + 1;
View1.setHeight(x * 10);
View2.setHeight(y * 10);
View3.setHeight(z * 10);
....
Попробуйте так:
Random mRand = new Random();
//вывод случайного значение между мин и макс (Java)
private int getRandomInt(int min, int max){
return mRand.nextInt(max - min + 1) + min;
}
public int dpToPx(int dp) {
DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
return Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
}
View1.setHeight(dpToPx(getRandomInt(10,20)) * 10);
Источник - dpToPx(int dp){...}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Возник вопрос, копаюсь долго не могу решить: что-то слетело в студио и java классы во всех проектах не определяются, вместо привычного значка...
Как добавить ещё несколько аргументов в метод onBindViewHolder()? Каждый раз при попытке добавить новый аргумент, мне предлагается повторно implement'ировать...