添加ListView(Android)

时间:2017-03-23 13:14:13

标签: android toolbar

我最近尝试添加列表视图来显示本地蓝牙设备。

(请参阅图片)

渲染图像看起来很好

enter image description here

因此,工具栏的背景不可见(假设在列表视图后面)并且标题已向下移动到页面。我还在工具栏中有两个标记为“扫描”和“刷新”的按钮,这些按钮可以在当前列表视图位置运行,但是如果我将它放在桌面上,它们是可见的但不起作用。

我正在扩展AppCompatActivity

手机上的应用程序截图

enter image description here

我认为问题出在主要布局中,因为自实施列表视图以来问题才出现。

我是Android新手,这是我的第一篇帖子,所以如果我错过任何重要内容,例如任何其他代码请告诉我!!

提前谢谢。

主要活动XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
>

<android.support.v7.widget.Toolbar
    android:id="@+id/tool_bar"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorBackground"
/>

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:stretchColumns="*"
    android:weightSum="1">


    <TextView
            android:padding="@dimen/activity_horizontal_margin"
            android:gravity="center_horizontal"
            android:textSize="20sp"
            android:text="Local Environmental Parameters"/>

        <TableRow>

            <TextView
                android:layout_column="0"
                android:textSize="15sp"
                android:gravity="center_horizontal"
                android:text="Ambient Temperature"/>
            <TextView
                android:layout_column="2"
                android:textSize="15sp"
                android:gravity="center_horizontal"
                android:text="Barometric Pressure"
                android:layout_marginBottom="25dp"/>

        </TableRow>

        <TableRow>

            <TextView
                android:id="@+id/rd_temp"
                android:layout_column="0"
                android:textSize="15sp"
                android:gravity="center_horizontal"/>

            <TextView
                android:layout_column="2"
                android:id="@+id/rd_pressure"
                android:textSize="15sp"
                android:gravity="center_horizontal"
                android:layout_marginBottom="50dp"/>

        </TableRow>

        <TableRow>

            <TextView
                android:layout_column="0"
                android:textSize="15sp"
                android:gravity="center_horizontal"
                android:text="Ambient Light"
                android:id="@+id/textView" />

            <TextView
                android:layout_column="2"
                android:textSize="15sp"
                android:gravity="center_horizontal"
                android:text="Humidity"
                android:layout_marginBottom="25dp"/>

        </TableRow>

        <TableRow>

            <TextView
                android:id="@+id/rd_light"
                android:layout_column="0"
                android:textSize="15sp"
                android:gravity="center_horizontal"/>

            <TextView
                android:id="@+id/rd_humidity"
                android:layout_column="2"
                android:textSize="15sp"
                android:gravity="center_horizontal"/>

        </TableRow>

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="120dp" />

</TableLayout>

</RelativeLayout>

工具栏XML

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimary"
    android:elevation="4dp"
    android:id="@+id/tool_bar">

</android.support.v7.widget.Toolbar>

主要活动onCreate()

                    protected void onCreate (Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_scan);

            ...

            Toolbar vToolbar = (Toolbar) findViewById(R.id.tool_bar);                               
            setSupportActionBar(vToolbar);                                                         
            // Initialise list view adapter
            ListView vListView = (ListView) findViewById(R.id.list);
            vLeDeviceListAdapter = new LeDeviceListAdapter();
            vListView.setAdapter(vLeDeviceListAdapter);

        }

2 个答案:

答案 0 :(得分:0)

将父布局从相对布局更改为垂直方向的线性布局,并为工具栏提供固定高度

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<android.support.v7.widget.Toolbar
    android:id="@+id/tool_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorBackground"/>

<TableLayout 
        android:id="@+id/table"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="*"
        android:weightSum="1"
        android:layout_below ="@+id/tool_bar">


    <TextView
            android:padding="@dimen/activity_horizontal_margin"
            android:gravity="center_horizontal"
            android:textSize="20sp"
            android:text="Local Environmental Parameters"/>

        <TableRow>

            <TextView
                android:layout_column="0"
                android:textSize="15sp"
                android:gravity="center_horizontal"
                android:text="Ambient Temperature"/>
            <TextView
                android:layout_column="2"
                android:textSize="15sp"
                android:gravity="center_horizontal"
                android:text="Barometric Pressure"
                android:layout_marginBottom="25dp"/>

        </TableRow>

        <TableRow>

            <TextView
                android:id="@+id/rd_temp"
                android:layout_column="0"
                android:textSize="15sp"
                android:gravity="center_horizontal"/>

            <TextView
                android:layout_column="2"
                android:id="@+id/rd_pressure"
                android:textSize="15sp"
                android:gravity="center_horizontal"
                android:layout_marginBottom="50dp"/>

        </TableRow>

        <TableRow>

            <TextView
                android:layout_column="0"
                android:textSize="15sp"
                android:gravity="center_horizontal"
                android:text="Ambient Light"
                android:id="@+id/textView" />

            <TextView
                android:layout_column="2"
                android:textSize="15sp"
                android:gravity="center_horizontal"
                android:text="Humidity"
                android:layout_marginBottom="25dp"/>

        </TableRow>

        <TableRow>

            <TextView
                android:id="@+id/rd_light"
                android:layout_column="0"
                android:textSize="15sp"
                android:gravity="center_horizontal"/>

            <TextView
                android:id="@+id/rd_humidity"
                android:layout_column="2"
                android:textSize="15sp"
                android:gravity="center_horizontal"/>

        </TableRow>

    <ListView
        android:id="@+id/list"
        android:layout_below ="@+id/table"
        android:layout_width="match_parent"
        android:layout_height="120dp" />

</TableLayout>

</RelativeLayout>

答案 1 :(得分:0)

尝试使用协调器布局参见下面的一些示例

此处框架布局和查看寻呼机或我的内容替换为您的

<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinatorLayout"

app:contentScrim="?attr/colorPrimary"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.design.widget.AppBarLayout
    android:id="@+id/appBarLayout"
    android:fitsSystemWindows="true"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">


            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                app:layout_scrollFlags="scroll|enterAlways"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"/>

            <android.support.design.widget.TabLayout
                android:id="@+id/tabLayout"
                android:layout_below="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:tabTextColor="@android:color/white"
                app:tabSelectedTextColor="@android:color/white"
                app:tabIndicatorColor="@android:color/white"
                app:tabIndicatorHeight="6dp"/>


</android.support.design.widget.AppBarLayout>

<android.support.v4.view.ViewPager
    android:id="@+id/viewPager"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

<FrameLayout
    android:visibility="gone"
    android:id="@+id/hfp_container"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

</FrameLayout>

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/ripple_fab"
    android:src="@drawable/ic_add_circle_outline_black_24dp"
    android:layout_marginBottom="20dp"
    android:layout_marginRight="20dp"
    android:layout_gravity="bottom|right"
    app:fabSize="normal" />