我正在学习如何开发Android应用程序,如果ListView为空,我正试图在屏幕上添加图像和文本。我已经使用了FrameLayout但它没有用。我可以使用margem Top,但这会导致横向模式下降。任何想法?
Search (View.GONE)
Search (View.VISIBLE)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/searchLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:id="@+id/edtPesquisa"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_marginTop="4dp"
android:hint="@string/pesquisa_txt"
android:inputType="textPersonName"
android:textSize="16sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/idLayoutActVirabrequins"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<com.google.android.gms.ads.AdView
android:id="@+id/idViewActVirabrequins"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="2dp"
android:background="@drawable/ads"
ads:adSize="BANNER"
ads:adUnitId="@string/banner_ad_unit_id_act_virabrequins">
</com.google.android.gms.ads.AdView>
<ListView
android:id="@+id/lstVirabrequins"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:dividerHeight="1dp"
android:longClickable="true"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ViewStub
android:id="@+id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout="@layout/empty" />
</LinearLayout>
</LinearLayout>
是空布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:scaleType="centerInside"
android:alpha="0.7"
android:src="@drawable/empty"
android:contentDescription="@string/app_name" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:textStyle="bold"
android:textColor="#757575"
android:alpha="0.7"
android:textSize="16sp"
android:fontFamily="sans-serif-light"
android:text="@string/empty" />
</LinearLayout>
提前感谢!
答案 0 :(得分:0)
ListView
有一个内置的方法。尝试拨打listView.setEmptyView()
,然后传递您为此创建的视图。
答案 1 :(得分:0)
<强>错误... 强>
首先,我没有在主布局的高度使用“match_parent”。 最后我没有使用FrameLayou,权重=“1”
图片和文字位于中心:)
现在,它就像一个魅力
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent" <--------------
android:orientation="vertical">
<LinearLayout
android:id="@+id/searchLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:id="@+id/edtPesquisa"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_marginTop="4dp"
android:hint="@string/pesquisa_txt"
android:inputType="textPersonName"
android:textSize="16sp" />
</LinearLayout>
<com.google.android.gms.ads.AdView
android:id="@+id/idViewActVirabrequins"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="2dp"
android:background="@drawable/ads"
ads:adSize="BANNER"
ads:adUnitId="@string/banner_ad_unit_id_act_virabrequins">
</com.google.android.gms.ads.AdView>
<FrameLayout <-----------
android:id="@+id/idLayoutActVirabrequins"
android:layout_width="match_parent"
android:layout_height="0dp" <------------
android:layout_weight="1"> <------------
<ListView
android:id="@+id/lstVirabrequins"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:dividerHeight="1dp"
android:longClickable="true"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ViewStub
android:id="@+id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout="@layout/empty" />
</FrameLayout>
</LinearLayout>