android - 如何使卡片视图消失?
问题描述
当我单击导航抽屉中的任何菜单项时,菜单项的内容会出现在卡片下方。卡片应消失,然后应显示菜单项的内容。菜单项的内容以片段的形式编写。有人可以帮我解决它吗?附上下面的代码...
这是 MainActivity Java 文件
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
drawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
actionBarDrawerToggle = new ActionBarDrawerToggle(this,drawerLayout,toolbar,R.string.drawer_open,R.string.drawer_close);
drawerLayout.setDrawerListener(actionBarDrawerToggle);
////////////////////////////////////////////////////////////////////
navigationView = (NavigationView)findViewById(R.id.navigation_view);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId())
{
case R.id.menu_profile:
fragmentTransaction=getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_container, new ProfileFragment());
fragmentTransaction.commit();
getSupportActionBar().setTitle("Profile");
menuItem.setChecked(true);
drawerLayout.closeDrawers();
break;
case R.id.menu_language:
fragmentTransaction=getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_container, new LanguageFragment());
fragmentTransaction.commit();
getSupportActionBar().setTitle("Set Language");
menuItem.setChecked(true);
drawerLayout.closeDrawers();
break;
case R.id.menu_tutorial:
fragmentTransaction=getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_container, new TutorialFragment());
fragmentTransaction.commit();
getSupportActionBar().setTitle("Tutorial");
menuItem.setChecked(true);
drawerLayout.closeDrawers();
break;
}
return true;
}
});
}
这是XML文件
<?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"
tools:context=".MainActivity"
android:id="@+id/drawer_layout"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/main_container">
<include
android:layout_height="wrap_content"
android:layout_width="match_parent"
layout="@layout/toolbar_layout"
/>
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_fixed"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
card_view:cardCornerRadius="10dp"
card_view:cardBackgroundColor="@android:color/background_light">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/card_fixed_heading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="Sensor Details"
android:fontFamily="serif"
android:textSize="24sp"
android:textStyle="bold"
android:textColor="#000"/>
<TextView
android:id="@+id/card_fixed_details"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:padding="5dp"
android:text="pH Level - \nTemperature - \nMoisture -"
android:fontFamily="serif"
android:textSize="16sp"
android:textColor="#000"/>
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_notification"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
card_view:cardCornerRadius="10dp"
card_view:cardBackgroundColor="@android:color/background_light">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/card_notification_heading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Water The Plants!"
android:fontFamily="serif"
android:textSize="24sp"
android:layout_gravity="center"
android:textStyle="bold"
android:textColor="#000"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Done"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:textStyle="bold"
android:fontFamily="serif"
android:layout_gravity="center_horizontal"
/>
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_prediction"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
card_view:cardCornerRadius="10dp"
card_view:cardBackgroundColor="@android:color/background_light">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/card_market_heading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Market Prediction"
android:fontFamily="serif"
android:textSize="24sp"
android:layout_gravity="center"
android:textStyle="bold"
android:textColor="#000"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Here!"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:textStyle="bold"
android:fontFamily="serif"
android:layout_gravity="center_horizontal"
android:onClick="marketPrediction"
/>
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_pest"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
card_view:cardCornerRadius="10dp"
card_view:cardBackgroundColor="@android:color/background_light">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/card_pest_heading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pest Details"
android:fontFamily="serif"
android:textSize="24sp"
android:layout_gravity="center"
android:textStyle="bold"
android:textColor="#000"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Here!"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:textStyle="bold"
android:fontFamily="serif"
android:layout_gravity="center_horizontal"
android:onClick="pestDetails"
/>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
<android.support.design.widget.NavigationView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/navigation_view"
android:layout_gravity="start"
app:menu="@menu/drawer_menu"
app:headerLayout="@layout/navigation_drawer_header"
>
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
解决方案
每个Android View
人都有出现和消失的能力。只需setVisibility()
在您的Java代码中使用并将其设置为View.GONE
例子:
CardView cardView1 = findViewById(R.id.card_pest);
cardView1.setVisibility(View.GONE)
推荐阅读
- ios - 快速从 ID 元素获取 innerText 不能与 webView 一起使用
- azure-data-factory-2 - How to send the parameter values to azure data factory using powershell
- python - 使用 for 和 if 循环将不同长度的元素组合到一个 Python 列表中
- android - 为什么在将 Android Path 对象添加到数组后,还可以向其添加更多行?
- angular - Angular 2+ 动画:向循环生成的单个复选框添加复选框检查效果
- java - 使用 JAX-RS 2.0 客户端 API 将文件作为表单参数之一的输入发布
- c# - 模拟存根和起订量设置的行为不同?Moq 中存根的等价物是多少?
- c++ - c ++值未保存到指针(二叉搜索树)
- r - R - 根据传递的多个条件对数据进行分类,其中之一是日期时间类型
- python - 如何使用按钮更改全局变量