activity_main2.xml
我想仅在单击listView项时才显示以下代码中的工具栏。否则,保持隐藏状态。如果我在Java代码中使用(View.Invisible),则布局消失,但其区域中仍留有空白区域。我希望listview占据该区域。
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout 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:orientation="vertical"
tools:context="com.example.ashutosh.music_player.Main2Activity">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/catv" />
<ListView
android:id="@+id/track_list_view"
android:layout_width="match_parent"
android:layout_weight="100"
android:layout_height="0dp"
android:overScrollHeader="@drawable/catv1"/>
<android.support.v7.widget.Toolbar
android:id="@+id/bar_player"
android:background="#333333"
android:theme="@style/Theme.AppCompat.Dark.DarkActionBar"
android:layout_width="match_parent"
android:layout_height="50dp"
app:contentInsetStart="0dp">
<ImageView
android:id="@+id/selected_track_image"
android:layout_width="50dp"
android:layout_height="55dp" />
<TextView
android:id="@+id/selected_track_title"
android:paddingLeft="8dp"
android:layout_width="220dp"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/forward"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginLeft="30dp"/>
<ImageView
android:id="@+id/player_control"
android:layout_gravity="right"
android:layout_width="@dimen/image_size"
android:layout_height="@dimen/image_size" />
</android.support.v7.widget.Toolbar>
</LinearLayout>
答案 0 :(得分:3)
试试这个,这就是@shijil Said
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout 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:orientation="vertical"
tools:context="com.example.ashutosh.music_player.Main2Activity">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/catv" />
<ListView
android:id="@+id/track_list_view"
android:layout_width="match_parent"
android:layout_weight="100"
android:layout_height="0dp"
android:overScrollHeader="@drawable/catv1"/>
<android.support.v7.widget.Toolbar
android:id="@+id/bar_player"
android:background="#333333"
android:theme="@style/Theme.AppCompat.Dark.DarkActionBar"
android:layout_width="match_parent"
android:visibility="gone"
android:layout_height="50dp"
app:contentInsetStart="0dp">
<ImageView
android:id="@+id/selected_track_image"
android:layout_width="50dp"
android:layout_height="55dp" />
<TextView
android:id="@+id/selected_track_title"
android:paddingLeft="8dp"
android:layout_width="220dp"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/forward"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginLeft="30dp"/>
<ImageView
android:id="@+id/player_control"
android:layout_gravity="right"
android:layout_width="@dimen/image_size"
android:layout_height="@dimen/image_size" />
</android.support.v7.widget.Toolbar>
</LinearLayout>
并以编程方式设置
.setVisibility(View.GONE);
.setVisibility(View.VISIBLE);
根据需要
答案 1 :(得分:0)
只需使用相对布局即可。这样,如果将工具栏设置为不可见,列表视图将占据其位置。