如何在抽屉式布局中调用imageview

时间:2018-08-15 14:23:16

标签: android

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/drawer_layout"
    android:fitsSystemWindows="true"
    tools:context="com.hangout.google.heedbasketball.MainActivity"
    tools:openDrawer="start"
    tools:deviceIds= "tv"
    tools:ignore="MergeRootFrame"> 

我希望在应用程序中有一个导航栏,但要在主页上显示图像。我猜我在布局上犯了一个错误,因为当我尝试运行该应用程序时,所有内容都会变黑。但是,正如我在图片视图中调用onclicklistener一样,如果我在屏幕上随机单击,则可以看到正在播放的视频。

 <android.support.v7.widget.Toolbar
     android:layout_width="match_parent"
     android:layout_height="?attr/actionBarSize"
     android:background="@color/colorPrimaryDark"
     android:id="@+id/toolbar"
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
     android:elevation="4dp"/>


 <FrameLayout
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:id="@+id/fragement_container" />



 <android.support.design.widget.NavigationView
     android:layout_width="wrap_content"
     android:layout_height="match_parent"
     android:layout_gravity="start"
     android:id="@+id/nav_view"
     app:headerLayout="@layout/nav_header"
     app:menu="@menu/drawer_menu"/>

 <LinearLayout
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">

     <ImageView
         android:id="@+id/imageView1"
         android:layout_width="150dp"
         android:layout_height="150dp"
         android:src="@drawable/arena_reaction"
         android:clickable="true"
         android:contentDescription="@string/TODO"
         android:focusable="true"
         />

     <ImageView
         android:id="@+id/imageView2"
         android:layout_width="150dp"
         android:layout_height="150dp"
         android:layout_marginStart="30dp"
         android:clickable="true"
         android:contentDescription="@string/TODO"
         android:focusable="true"
         android:src="@drawable/frequentflyer_diop" />

     <ImageView
         android:id="@+id/imageView3"
         android:layout_width="150dp"
         android:layout_height="150dp"
         android:layout_marginStart="30dp"
         android:layout_marginEnd="99dp"
         android:clickable="true"
         android:contentDescription="@string/TODO"
         android:focusable="true"
         android:src="@drawable/frequentflyer_tyus" />

     <ImageView
         android:id="@+id/imageView4"
         android:layout_width="150dp"
         android:layout_height="150dp"
         android:layout_marginStart="30dp"


         android:clickable="true"
         android:contentDescription="@string/TODO"
         android:focusable="true"
         android:src="@drawable/monday_memories" />


 </LinearLayout>

1 个答案:

答案 0 :(得分:0)

在DrawerLayout内部,首先是UI的主要内容的布局(隐藏抽屉时的主要布局),另一个是包含导航抽屉内容的视图。

在您的情况下:-FrameLayout包含主要内容(例如,可以在运行时由Fragment填充),以及用于导航抽屉内容的NavigationView。

要直接在上面的xml中执行此操作,请在框架布局内部/代替框架布局添加线性布局(最好将片段用于各个项目,并将框架布局用作容器)。