我有一个折叠的工具栏布局。我已经在上面显示了图表。因此,如果图表中没有要显示的项目,我想将折叠工具栏布局显示为折叠、隐藏或关闭。应该只显示工具栏和标题,而不是图表。
这是视图:
我只想显示左侧有菜单图标的工具栏。
布局代码:
<android.support.design.widget.CoordinatorLayout 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:layout_gravity="center"
tools:context="com.example.siddhi.googletaskmanager"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="true"
android:id="@+id/parentPanel"
android:background="@color/background">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="220dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:id="@+id/appbar"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:titleEnabled="false"
app:contentScrim="?attr/colorPrimary"
android:fitsSystemWindows="true"
app:expandedTitleTextAppearance="@style/expandedappbar"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<com.github.mikephil.charting.charts.HorizontalBarChart
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_below="@+id/toolbar"
app:layout_collapseMode="parallax"
android:layout_gravity="bottom"
android:layout_marginBottom="40dp"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:paddingTop="10dp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<com.github.clans.fab.FloatingActionMenu
android:id="@+id/menu1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingRight="10dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
app:menu_colorNormal="@color/colorAccent"
app:menu_colorPressed="@color/colorAccent"
fab:menu_icon="@drawable/ic_more_horiz_white_24dp"
fab:menu_labels_ellipsize="end"
fab:menu_labels_singleLine="true"
fab:menu_backgroundColor="@color/colorPrimary"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<com.github.clans.fab.FloatingActionButton
android:id="@+id/fab1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_list_white_24dp"
fab:fab_size="mini" …Run Code Online (Sandbox Code Playgroud) 我正在使用TextInputLayout和TetInputEditText来获取浮动提示.现在我想更改编辑文本的提示和底线的颜色.我想让用户点击编辑文本时进行更改.
所以我尝试更改编辑文本的onClickListener颜色.但我没有发现颜色有任何变化.
xml布局:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:orientation="vertical">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_item_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="20dp"
android:paddingTop="05dp">
<android.support.design.widget.TextInputEditText
android:layout_width="240dp"
android:layout_height="45dp"
android:id="@+id/editTextItemName"
android:layout_gravity="center_horizontal"
android:hint="@string/item_name"
android:textSize="12sp" />
</android.support.design.widget.TextInputLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
java代码:
public void setUpUI(){
edt_Item_Name = (TextInputEditText) findViewById(R.id.editTextItemName);
edt_Item_quantity = (TextInputEditText)findViewById(R.id.editTextItemQuantity);
edt_Item_Unit = (TextInputEditText)findViewById(R.id.editTextItemUnit);
textInput_Item_name = (TextInputLayout)findViewById(R.id.input_layout_item_name);
textInput_Item_quantity = (TextInputLayout)findViewById(R.id.input_layout_item_quantity);
textInput_Item_Unit = (TextInputLayout)findViewById(R.id.input_layout_item_unit);
edt_Item_Name.getBackground().mutate().setColorFilter(ContextCompat.getColor(this, R.color.edtColor), PorterDuff.Mode.SRC_ATOP);
edt_Item_Name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
edt_Item_Name.setHintTextColor(ContextCompat.getColor(SearchActivity.this, R.color.edtColor));
edt_Item_Name.getBackground().mutate().setColorFilter(ContextCompat.getColor(SearchActivity.this, R.color.edtColor), PorterDuff.Mode.SRC_ATOP);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
java android colors android-textinputlayout android-textinputedittext
我在活动中使用选项菜单,因为我已经膨胀了菜单,并且菜单项的onItemSelected已经完成。在片段中,我隐藏了不需要在片段上显示的菜单项。
这做得很好,我可以在片段上看到所需的菜单项。但是在某些片段上,我不想显示任何菜单项。因此,为此,我尝试清除菜单,也尝试对所有项目设置setVisible false,也尝试设置setHasOptionsMenu(false);。,但是没有任何效果。我可以看到该片段上的所有三个菜单项。
我也试过这个答案:隐藏/显示操作栏选项菜单项的不同片段
从onPreparedOptionsMenu中的Search商人片段中,我执行了menu.setGroupVisible(R.id.main_menu_group,false);。
还是行不通。
菜单
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group
android:id="@+id/main_menu_group">
<item
android:id="@+id/action_search"
android:orderInCategory="100"
android:title="customer"
app:showAsAction="always"
android:icon="@drawable/ic_search"/>
<item
android:id="@+id/action_create"
android:orderInCategory="100"
android:title="customer"
app:showAsAction="always"
android:icon="@drawable/ic_create"/>
<item
android:id="@+id/action_edit"
android:orderInCategory="100"
android:title="customer"
app:showAsAction="always"
android:icon="@drawable/ic_save"/>
</group>
</menu>
Run Code Online (Sandbox Code Playgroud)
家庭活动:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
// menu.clear();
getMenuInflater().inflate(R.menu.menu_customer, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_create:
String favMerchantId = pref.getString("favMerchantId","");
String favKiranaName = pref.getString("favKiranaName","");
if(pref.getString("favMerchantId","").equals("null") && pref.getString("favKiranaName","").equals("null")){
CommonUtils.showAlert(HomeActivity.this,"There is no merchant yet.Please search for merchant.","No …Run Code Online (Sandbox Code Playgroud) java android show-hide android-fragments android-optionsmenu
我正在尝试在删除按钮上使用警报对话框。但是显示对话框显示异常。当我单击删除时,它会崩溃并在 .show 上显示异常。
我尝试为此活动使用 Theme.AppCompat 主题,但它仍然崩溃。
<activity android:name=".AddEventActivity"
android:theme="@style/Theme.AppCompat">
</activity>
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new AlertDialog.Builder(getApplicationContext())
.setTitle("Delete entry")
.setMessage("Are you sure you want to delete this entry?")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "Yaay", Toast.LENGTH_SHORT).show();
i = new Intent();
db.deleteEvent(eventData);
Log.i("d", "delete");
setResult(RESULT_OK, i);
finish();
// continue with delete
}
})
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do nothing
}
})
.setIcon(android.R.drawable.ic_dialog_alert)
.show(); …Run Code Online (Sandbox Code Playgroud) java android android-appcompat android-theme illegalstateexception
我在适配器中创建了一个方法.在这种方法中,我有一个arraylist.我想在一个活动中访问这个arrayList.我怎样才能做到这一点?
适配器:
public class InviteAdapter extends RecyclerView.Adapter<InviteAdapter.MyViewHolder> {
private ArrayList<Contact> contactArrayList;
private Context mContext;
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView name;
private CheckBox checkBox;
public MyViewHolder(View view) {
super(view);
name = (TextView) view.findViewById(R.id.textContactName);
checkBox = (CheckBox) view.findViewById(R.id.checkBox);
}
}
public InviteAdapter(Context context, ArrayList<Contact> contactArrayList) {
this.contactArrayList = contactArrayList;
this.mContext = context;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.invite_contact_item, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) …Run Code Online (Sandbox Code Playgroud) 我从服务器向我的应用程序发送fcm通知.
我从服务器发送包含user_id的数据.如果应用程序位于前台,我将在FirebaseMessageService类中获取此userId.但是,当应用程序处于后台时,不会得到它.由于FirebaseMessagingService类仅在应用程序位于前台时才会执行.
那么当应用程序处于后台时,如何获得此ID?
public class MyFirebaseMessagingService extends FirebaseMessagingService {
private static final String TAG = "MyFirebaseMsgService";
private String mUserId;
private Boolean mUpdateNotification;
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
//Displaying data in log
//It is optional
Log.d(TAG, "From: " + remoteMessage.getFrom());
Log.d(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody());
String clickAction = remoteMessage.getNotification().getClickAction();
mUserId = remoteMessage.getData().get("user_id");
String title = remoteMessage.getNotification().getTitle();
//Calling method to generate notification
sendNotification(remoteMessage.getNotification().getBody(),clickAction,title);
}
//This method is only generating push notification
//It is same as we did in earlier …Run Code Online (Sandbox Code Playgroud) 我有一个带有工具栏的活动,在该工具栏中,我添加了一个图像视图并在其中设置了徽标。
我还创建了不同的片段,现在当我看到片段时,我想隐藏该图像视图并将标题设置为活动的工具栏。
我已经将图像视图和工具栏设置为家庭活动中的public static。
我试图像这样访问工具栏:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_account, container, false);
final Toolbar toolbar = (Toolbar) ((HomeActivity) getActivity()).findViewById(R.id.toolbar);
toolbar.setTitle(R.string.menu_account);
((HomeActivity) getActivity()).setSupportActionBar(toolbar);
((HomeActivity) getActivity()).mLogo.setVisibility(View.GONE);
return view;
}
Run Code Online (Sandbox Code Playgroud)
但是我在图像视图上得到了一个空指针,如果注释了setVisibility(View.GONE),则可以在工具栏上看到图像。
家庭活动
public class HomeActivity extends AppCompatActivity{
public static Toolbar toolbar;
public static ImageView mLogo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mLogo = (ImageView)findViewById(R.id.imageViewLogo);
FragmentManager fragmentManager = HomeActivity.this.getFragmentManager();
MainFragment fragment …Run Code Online (Sandbox Code Playgroud) java android android-imageview android-fragments android-toolbar
我想从 url 加载图像并将其保存在 sd 卡中的文件中,然后从文件加载并显示在图像视图中。
所以我正在尝试使用毕加索加载图像。但它没有显示在图像视图上。
这是网址:
http://xesoftwares.co.in/contactsapi/profile_images/d34b638b93773140eb94d5f03c20237c.jpg
使用毕加索加载图像。
Picasso.with(MainActivity.this).load(url).into(profileImage);
Run Code Online (Sandbox Code Playgroud)
如何从url下载图片。将其保存在 sd 卡中的文件中,然后从文件中加载图像以显示在图像视图中?
请帮忙。谢谢..
我有MyTrips fragment其中包含ViewPager. 所以它包含两个选项卡,即两个片段,一个是ScheduleListFrgment,另一个是TripHistoryFragment。
现在,当我MyTrips fragment首先替换它显示ScheduleListFragment,从服务器加载数据并显示在列表中时,它还从服务器加载 tripHistory 的数据。
所以现在我已经给了列表项的 click 事件,ScheduleListFragment所以onClick它替换ScheduleListFragment为PostDetailsFragment.
现在,在我按下后,PostDetailsFragment它显示为空ScheduleListFragment,没有列表。
我想在用户从 from 按下时显示列表PostDetailsFragment。
ScheduleListFragment
public class ScheduledTravelFragment extends Fragment implements GetScheduledTripsAsyncTask.GetScheduleTripsCallBack{
public RecyclerView mRecyclerView_list;
private ArrayList<Trips> mTripsList;
private ScheduledTravelAdapter mTripsAdapter;
public TextView mTextViewData;
private String mDateTime;
private SessionData sessionData;
private RelativeLayout parentLayout;
public ScheduledTravelFragment() {
// Required empty public constructor
}
@Override
public …Run Code Online (Sandbox Code Playgroud) 我有一个抽屉布局的活动。
我想检查抽屉是否关闭然后调用onBackPressed. 如果抽屉是打开的,它应该先关闭然后onBackPressed应该被调用。
我尝试使用 addDrawerListener 这样做
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setUpUI();
listeners(
}
public void setUpUI() {
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//Initializing NavigationView
navigationView = (NavigationView) findViewById(R.id.navigation_view);
drawerLayout = (DrawerLayout) findViewById(R.id.drawer);
}
public void listeners()
drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
}
@Override
public void onDrawerOpened(View drawerView) {
}
@Override
public void onDrawerClosed(View drawerView) {
onBackPressed();
}
@Override
public void …Run Code Online (Sandbox Code Playgroud) android ×10
java ×8
arraylist ×2
adapter ×1
android-collapsingtoolbarlayout ×1
background ×1
colors ×1
drawerlayout ×1
firebase ×1
image ×1
layout ×1
picasso ×1
show-hide ×1
url ×1