M
marcw75
Neues Mitglied
- 0
Hallo
weiss vielleicht jemand wie man ein solches menü herstellt?
gruss marc
weiss vielleicht jemand wie man ein solches menü herstellt?
gruss marc
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion erfordert derzeit den Zugriff auf die Seite über den integrierten Safari-Browser.
Es geht dem Thread ersteller glaube ich darum das die Viewgroup erst angezeigt wird wenn man auf den "Share" Button drückt.StefMa schrieb:Das ist eine ViewGroup mit zwei weiteren ViewGroups die jeweils 3 Views beinhalten
Sry, aber was willst du hören?
-> WhatsAppMenu.xml · GitHub
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:paddingTop="1dip"
android:paddingBottom="1dip"
android:paddingLeft="9dip"
android:paddingRight="9dip">
<ImageView android:id="@+id/icon"
android:paddingRight="9dip"
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_gravity="center_horizontal|center_vertical" />
</LinearLayout>
public class AttachmentTypeSelectorAdapter extends ArrayAdapter<AttachmentTypeSelectorAdapter.IconListItem> {
public static final int ADD_IMAGE = 1;
public static final int ADD_VIDEO = 2;
public static final int ADD_SOUND = 3;
public static final int ADD_CONTACT_INFO = 4;
public static final int TAKE_PHOTO = 5;
private final Context context;
public AttachmentTypeSelectorAdapter(Context context) {
super(context, R.layout.icon_list_item, getItemList(context));
this.context = context;
}
public int buttonToCommand(int position) {
return getItem(position).getCommand();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.icon_list_item, parent, false);
} else {
view = convertView;
}
TextView text = (TextView) view.findViewById(R.id.text1);
ImageView image = (ImageView) view.findViewById(R.id.icon);
text.setText(getItem(position).getTitle());
image.setImageResource(getItem(position).getResource());
return view;
}
private static List<IconListItem> getItemList(Context context) {
List<IconListItem> data = new ArrayList<>(4);
addItem(data, context.getString(R.string.AttachmentTypeSelectorAdapter_take_photo), ResUtil.getDrawableRes(context, R.attr.conversation_attach_contact_info), TAKE_PHOTO);
addItem(data, context.getString(R.string.AttachmentTypeSelectorAdapter_picture), ResUtil.getDrawableRes(context, R.attr.conversation_attach_image), ADD_IMAGE);
addItem(data, context.getString(R.string.AttachmentTypeSelectorAdapter_video), ResUtil.getDrawableRes(context, R.attr.conversation_attach_video), ADD_VIDEO);
addItem(data, context.getString(R.string.AttachmentTypeSelectorAdapter_audio), ResUtil.getDrawableRes(context, R.attr.conversation_attach_sound), ADD_SOUND);
addItem(data, context.getString(R.string.AttachmentTypeSelectorAdapter_contact), ResUtil.getDrawableRes(context, R.attr.conversation_attach_contact_info), ADD_CONTACT_INFO);
return data;
}
private static void addItem(List<IconListItem> list, String text, int resource, int id) {
list.add(new IconListItem(text, resource, id));
}
public static class IconListItem {
private final String title;
private final int resource;
private final int id;
public IconListItem(String title, int resource, int id) {
this.resource = resource;
this.title = title;
this.id = id;
}
public int getCommand() {
return id;
}
public String getTitle() {
return title;
}
public int getResource() {
return resource;
}
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingTop="0dp"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Test Text"
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Text Text 2"
android:id="@+id/textView2"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<LinearLayout
android:id="@+id/menuButtons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/bright_foreground_disabled_material_dark"
android:visibility="gone" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_margin="10dp"
android:src="@drawable/circle"/>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_margin="10dp"
android:src="@drawable/circle"/>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_margin="10dp"
android:src="@drawable/circle"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_margin="10dp"
android:src="@drawable/circle"/>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_margin="10dp"
android:src="@drawable/circle"/>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_margin="10dp"
android:src="@drawable/circle"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
if (id == R.id.action_share) {
if (mMenu.getVisibility() != View.VISIBLE)
mMenu.setVisibility(View.VISIBLE);
else
mMenu.setVisibility(View.GONE);
return true;
}
return super.onOptionsItemSelected(item);
}
if (id == R.id.action_share) {
mMenu.setVisibility((mMenu.getVisibility()+8)%16); //toggle between VISIBLE(8) and GONE(0)
return true;
}
Jaiel schrieb:Ich hätte noch ne (sinnlose) verkürzung des Codes. Wenn man garaniieren kann dass die Visibility niemals auf INVISIBLE(4) springt kann man sich ein paar Zeilen und eine Abfrage sparen XD
Code:if (id == R.id.action_share) { mMenu.setVisibility((mMenu.getVisibility()+8)%16); //toggle between VISIBLE(8) and GONE(0) return true; }