Вы можете использовать индекс childview для установки его. я думаю, что это поможет вам. попробуйте другой метод для addview, который включает childindex

я есть два макета: main.xml и buttonpanel.xml. В buttonpanel.xml, в основном линейном разметке, я установил гравитацию внизу. Теперь я пытаюсь добавить макет кнопки, используя следующий код.

setContentView(R.layout.main);
LinearLayout layout=(LinearLayout)findViewById(R.id.mainlinearlayout);
LayoutInflater inflater= (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view=inflater.inflate(R.layout.buttonpanel,null);
layout.addView(view);

Моя проблема заключается в том, что панель добавляется сверху, хотя я установил гравитацию внизу в buttonpanel.xml. Если я добавлю buttonpanel.xml в main.xml, используя include, он будет работать нормально.

Может кто-нибудь помочь мне, что не так с моим кодом?

 andig17 февр. 2011 г., 10:16
Проверьте это для более подробного объяснения:stackoverflow.com/questions/5026926/...
 Bo Persson03 июл. 2012 г., 14:49
возможный дубликатОсмысление LayoutInflater

Ответы на вопрос(1)

Решение Вопроса

авлений так, как вы это делаете. Если я использую немного другой вызовinflate мои параметры макета соблюдаются:

parent_view = inflater.inflate(R.layout.buttonpanel, parent);

Или в моем случае, когда родитель не поддерживал добавление представлений к нему:

view = inflater.inflate(R.layout.buttonpanel, parent, false);

Возможно, это решит и вашу проблему.

РЕДАКТИРОВАТЬ: различные представления возвращаются в зависимости от того, какие параметры заданы.LayoutInflater

 Bojan Radivojevic Bomber11 апр. 2012 г., 10:44
Мне тоже помогли, но мне пришлось вызвать parent.addView (view); добавить вид в макет
 Gangnus18 янв. 2012 г., 12:35
+1. Помог мне тоже.
 htafoya02 авг. 2013 г., 21:01
Я делаю это таким образом, и мой взгляд по-прежнему выравнивается сверху: /
 Hitendra20 янв. 2011 г., 05:17
как вы сказали, родитель не поддерживает добавление представлений к нему. так view = inflater.inflate (R.layout.buttonpanel, parent, false); решает мою проблему. спасибо
 hacker26 июл. 2012 г., 08:59
отлично ... у меня сработало ..

Ваш ответ на вопрос