Ландшафтық режимде іздеу панелінің енін бағдарламалы түрде өзгертіңіз

Менде SeekBar ені бар мәселе бар. Мен ені программалық түрде (экранның ені - 20px) кодпен орнатуға тырысамын             SeekBar іздеу = (SeekBar) temp                     .findViewById (R.id.seek);

        android.view.ViewGroup.LayoutParams param = seek
                .getLayoutParams();

        param.width = width;
        //seek.setMinimumWidth(width);

және ол портреттік режимде жұмыс істейді, бірақ телефонды немесе эмуляторды айналдырғанда, іздеу панелінің ені өзгермейді. Нені өзгерту керек?

0

1 жауаптар

Сіз телефонды қайта салғанда, оны қайтадан шақырыңыз деп ойладыңыз ба? Сіздің кодыңыз onCreate әдісінде жұмыс істей ме, сіз оның кодын шынымен де шақырылғанына көз жеткізіңіз.

Бұл кодтың шақырылғанына көз жеткізіңіз және ол жақсы болады. Сондай-ақ, бұл жерде сіз форумға қойылған толық код емес деп ойлаймын, себебі мұнда setparams-ді көрмеймін, сіз setparams (param) деп атауыңыз керек, бірақ менің ойымша, бұл сіздің нақты жобаңызда бар)

  android.view.ViewGroup.LayoutParams param = seek
                .getLayoutParams();
        param.width = width;
2
қосылды
SetLAyoutParams қажеті жоқ деп ойлаймын, себебі мен searchBar.getLayoutParams сияқты params аламын, бұл сілтеме объектінің көшірмесі емес. Мен тоқтау нүктелерін отладка режиміне қоямын, бірақ ол CreDreate немесеResume арқылы өтпеді.
қосылды автор Damir, көзі
сіздің проблемаңыз енін белгілеуге емес, басқа жерде. Ені орнату үшін onCreate шақырылуы керек
қосылды автор Lukap, көзі
мына developer.android.com торабын қараңыз./Анықтама/android/app/& hellip; бұл әдіс портрет пен пейзаждың арасында ауысқанда шақырылады
қосылды автор Lukap, көзі