Я пытаюсь создать каркас для Android, я хочу, чтобы он работал на всех возможных разрешениях экрана , установив рацион в 16: 9, взяв некоторые части экрана и сделайте их пустыми, если соотношение не равно 16: 9, я, похоже, не могу выполнить математику за ней.исправление разрешения до 16: 9
Я попытался сделать цикл, который берет вычитание на каждую итерацию и проверяет, станет ли отношение равным 16: 9, но двойное деление превращает его в бесконечный цикл, потому что 1920: 1080! = 16: 9, например
так может ли кто-нибудь дать мне лучший способ сделать это?
или вы даже предлагаете ресурс, который дает лучшее решение, чем создание пустых сторон?
Я не уверен, что не так с вашим кодом, но просто сделав разделение и умножение в голове, я могу сказать вам, что формат 1920x1080 * IS * с соотношением сторон 16: 9. 1920, деленный на 16, равен 120 и 120, умноженный на 9, равен 1080. – Squonk
Это правда, мой друг. Я использовал плохой пример, чтобы продемонстрировать свою точку зрения, это будет справедливо для всех вариантов разрешения 16: 9, но когда это 4: 3, скажем, 480: 320, когда вы пытаетесь уменьшить 320 в цикле до тех пор, пока он не достигнет отношения, он никогда не будет точно равен 1.77777777, что является ответом на 1920/1080 это может быть 1.777777778, что сделает петли оценены как ложные и введите бесконечный цикл –
Я до сих пор не понимаю вашу проблему. Если вы хотите отобразить изображение с соотношением сторон 16: 9, просто получите физическую ширину экрана в пикселях, а затем разделите на 16 (округлите до ближайшего целого), а затем умножьте на 9 на высоту.Затем вам просто нужно вычесть эти значения ширины и высоты из фактических значений ширины и высоты, делить на 2, а затем использовать соответствующие значения в качестве полей для верхнего/нижнего/левого/правого. – Squonk