나는 Android 태블릿 전용으로 앱을 만들고 있으며 일부에는 다양한 뉴스 헤드 라인을 기반으로 동적으로 생성 된 버튼이 있습니다. 하나의 dimens.xml을 가지고 DisplayMetrics의 배율 인수를 사용하여 서로 다른 밀도에 적합한 크기를 만듭니다. 문제는 내 xml 크기를 변경할 때 메서드가 반환하는 차원에 아무런 영향을 미치지 않는다는 것입니다.Button/TextView에서 getDimension()을 사용하면 항상 동일한 값을 반환합니다.
RelativeLayout.LayoutParams announcementButtonLayout = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
announcementButtonLayout.topMargin = topMargin;
announcementButtonLayout.addRule(RelativeLayout.ALIGN_PARENT_TOP);
announcementButtonLayout.height = this.getResources().getDimensionPixelSize(R.dimen.news_button_height);
announcementButtonLayout.width = getResources().getDimensionPixelSize(R.dimen.dashboard_right_width);
Button button = new Button (this.getActivity());
button.setWidth(getResources().getDimensionPixelSize(R.dimen.dashboard_right_width));
button.setBackgroundResource(R.drawable.photo_edited);
button.setTextColor(getResources().getColor(R.drawable.news_poll_item_text_color));
float f =Utilities.getPixelScaleMultiplier();
f *= getResources().getDimension(R.dimen.news_item_text);
button.setTextSize(f);
button.setText(announcement.getDescription());
button.setMaxLines(1);
button.setTag(announcement);
button.setOnClickListener(this);
button.setLayoutParams(announcementButtonLayout);
button.setId(index);
위의 버튼 코드를 기반으로 한이 신뢰 위반의 원인은 무엇입니까?
감사합니다,
Adurnari
편집 :
do announcementButtonLayout.width = getResources(). getDimensionPixelSize (R.dimen.dashboard_right_width); 대신 setWidth() – himanshurb
팁 주셔서 감사하지만 그것을하지 않았다. – Adurnari