Установка полей на RelativeLayout не работает на Kindle Fire

1

Это похоже на мой предыдущий вопрос, но он не работал с Kindle Fire (2.3.4).
Я использовал FragmentTransaction для добавления фрагмента в FrameLayout. Я хочу динамически изменять границу RelativeLayout, используемую фрагментом.

Тем не менее, поля не меняются с помощью FrameLayout.layoutParams на Kindle Fire. Однако это работает на 3.2.1. Я также попытался использовать setMargins(), и он не работал.

Кто-нибудь знает, как я могу динамически менять поля на Kindle Fire?

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.infocard, container, false);

        RelativeLayout infoLayout = (RelativeLayout) view.findViewById(R.id.info);
        infoLayout.setOnClickListener(new EmptyClickListener());

        final int width = 250;
        final int height = 270;
        int leftMargin = 0;
        int topMargin = 0;
        FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(width, height);

        if (x - width < 0) {
            leftMargin = 0;
        } else {
            leftMargin = x - width + 40;
        }

        if (y >= 400 && y <= 480) {
            topMargin = 160;
        }

        params.leftMargin = leftMargin;
        params.topMargin = topMargin;

        //params.setMargins(leftMargin, topMargin, 0, 0); //this didnt work either
        infoLayout.setLayoutParams(params);

        TextView titleView = (TextView) view.findViewById(R.id.titleCard);
        titleView.setText(title);

        return view;
    }
  • 0
    Является ли infoLayout подпредставлением FrameLayout или RelativeLayout?
  • 0
    infoLayout является RelativeLayout
Показать ещё 5 комментариев
Теги:
relativelayout
layout
margin
kindle-fire

1 ответ

3
Лучший ответ

Хорошо, я смог исправить это, обернув свой файл infoLayout в другой RelativeLayout, и теперь он отлично работает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню