create notification layout

This commit is contained in:
danijoo
2016-01-01 13:37:46 +01:00
parent 8618a5defb
commit b493755550
49 changed files with 372 additions and 22 deletions

View File

@@ -3,21 +3,75 @@ package net.headlezz.notificationlogger;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner;
import butterknife.Bind;
import butterknife.ButterKnife;
public class NotificationCreationFragment extends Fragment {
@Bind(R.id.create_etId)
EditText mEtId;
@Bind(R.id.create_etTitle)
EditText mEtTitle;
@Bind(R.id.create_etMessage)
EditText mEtMessage;
@Bind(R.id.create_cbAutoCancel)
CheckBox mCbAutoCancel;
@Bind(R.id.create_cbBlink)
CheckBox mCbBlink;
@Bind(R.id.create_cbSound)
CheckBox mCbSound;
@Bind(R.id.create_cbVibrate)
CheckBox mCbVibrate;
@Bind(R.id.create_spCategory)
Spinner mSpCategory;
@Bind(R.id.create_spIntent)
Spinner mSpIntent;
@Bind(R.id.create_spIcon)
Spinner mSpIcon;
final int[] mNotificationIcons = new int[]{
R.drawable.ic_adb,
R.drawable.ic_bluetooth_audio,
R.drawable.ic_drive_eta,
R.drawable.ic_event_note,
R.drawable.ic_ondemand_video,
R.drawable.ic_power,
R.drawable.ic_sd_card,
R.drawable.ic_sms
};
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
TextView textView = new TextView(getContext());
textView.setGravity(Gravity.CENTER);
textView.setText(getClass().getSimpleName());
return textView;
View view = inflater.inflate(R.layout.notification_creation_frag, container, false);
ButterKnife.bind(this, view);
ArrayAdapter<CharSequence> categoryAdapter = ArrayAdapter.createFromResource(getContext(), R.array.create_categories, android.R.layout.simple_spinner_item);
categoryAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpCategory.setAdapter(categoryAdapter);
SpinnerIconAdapter iconAdapter = new SpinnerIconAdapter(getContext(), getResources().getStringArray(R.array.create_icons), mNotificationIcons);
iconAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpIcon.setAdapter(iconAdapter);
return view;
}
}

View File

@@ -0,0 +1,55 @@
package net.headlezz.notificationlogger;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class SpinnerIconAdapter extends ArrayAdapter<CharSequence> {
private static final int DROPDOWN_RESOURCE = R.layout.simple_spinner_dropdown_item_with_icon;
private static final int ITEM_RESOURCE = R.layout.simple_spinner_item_with_icon;
private int[] itemIcons;
private LayoutInflater mInflater;
public SpinnerIconAdapter(Context context, CharSequence[] items, int[] itemIcons) {
super(context, ITEM_RESOURCE, items);
if(itemIcons.length != getCount())
throw new IllegalArgumentException("Icon resource size doesnt match item count");
this.itemIcons = itemIcons;
mInflater = LayoutInflater.from(getContext());
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = mInflater.inflate(ITEM_RESOURCE, parent, false);
}
TextView textView = (TextView) convertView.findViewById(android.R.id.text1);
textView.setText(getItem(position));
ImageView iconView = (ImageView) convertView.findViewById(R.id.spinner_icon);
Drawable icon = getContext().getResources().getDrawable(itemIcons[position]);
iconView.setImageDrawable(icon);
return convertView;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = mInflater.inflate(DROPDOWN_RESOURCE, parent, false);
}
TextView textView = (TextView) convertView.findViewById(android.R.id.text1);
textView.setText(getItem(position));
ImageView iconView = (ImageView) convertView.findViewById(R.id.spinner_icon);
Drawable icon = getContext().getResources().getDrawable(itemIcons[position]);
iconView.setImageDrawable(icon);
return convertView;
}
}