#android
#Android
Вопрос:
Я попытался добавить TextView в пользовательское действие для отображения в нескольких действиях, но ничего не отображается. Это мой пользовательский код действия :
LinearLayout layout;
public void SetupFooter() {
layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setGravity(android.view.Gravity.BOTTOM|android.view.Gravity.CENTER_HORIZONTAL);
TextView tv = new TextView(this);
tv.setText("abc");
layout.addView(tv);
}
Это мой XML-код main_activity, в который я хочу добавить нижний колонтитул :
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@ id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<FrameLayout
android:id="@ id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageButton
android:id="@ id/btnGoToTop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|bottom"
android:layout_margin="5dip"
android:background="@drawable/buttongototop"
android:padding="5dip"
android:visibility="gone" />
</FrameLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="bottom"
android:text="TextView" />
</LinearLayout>
<ListView
android:id="@ id/left_drawer"
android:layout_width="280dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/white"
android:choiceMode="singleChoice"
android:headerDividersEnabled="false" />
<ListView
android:id="@ id/right_drawer"
android:layout_width="280dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:background="@color/white"
android:choiceMode="singleChoice"
android:headerDividersEnabled="false" />
</android.support.v4.widget.DrawerLayout>
Когда я вызываю SetupFooter() в расширенных действиях, ничего не отображается.
Есть ли какие-либо проблемы с моим кодом?
Извините за мой плохой английский и спасибо за помощь!
Отредактировано: я добавил это: addContentView(макет, новые параметры компоновки (LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); Он показан сейчас, но он не помещен внизу, как я могу заставить его оставаться внизу?
Ответ №1:
Вы создаете 2 представления в своей функции: текстовое представление и линейный макет. Вы добавляете текстовое представление в линейный макет, но вы нигде не размещаете линейный макет, поэтому он не отображается. Если вы хотите добавить его в линейный макет, который уже есть в вашем xml, вам нужно присвоить ему идентификатор, чтобы вы могли получить ссылку на него с помощью findViewById, а затем добавить к нему текстовое представление.
Комментарии:
1. Привет, я добавил этот addContentView(макет, новые параметры компоновки (LayoutParams.LayoutParams. WRAP_CONTENT,LayoutParams. WRAP_CONTENT)); Он отображается сейчас, но он не внизу, а вверху..