如何在应用程序中拥有灵活的帖子创建功能,就像我们在 Twitter 等社交媒体应用程序中那样,能够自由添加文本、图像、位置,而无需同时添加它们。
我使用 EditText 来创建文本,使用 ImageView 来创建图像,但在 Android 应用程序中,我想使用不依赖于它们的帖子。
后期活动将帮助我添加现场的地质发现,其中包括:
-标题:文本 -图像:uri,字符串 -日期(自动生成):数字 -gps 坐标(自动生成):数字 -尺寸,自动生成:数字 -纹理、颜色、硬度:字符串 -矿物成分:一段文字,长一点 -结构特点:长文本 -形成,文本 -context:中等文本 -名称:岩石的名称,它是一个文字
我想构建一些用户友好的东西。
现在我的 XML 代码是这样的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp">
<ImageButton
android:id="@+id/btn_close"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:contentDescription="Close"
android:src="@android:drawable/ic_menu_close_clear_cancel" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Drafts"
android:textColor="#FFFFFF"
android:textSize="18sp" />
<Button
android:id="@+id/btn_post"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="@drawable/rounded_button"
android:text="Post"
android:textColor="#FFFFFF" />
</RelativeLayout>
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/profileImage"
android:layout_width="70dp"
android:layout_height="70dp"
android:scaleType="centerCrop"
app:shapeAppearanceOverlay="@style/CircularImageView"
app:strokeColor="#713808"
app:strokeWidth="2dp" />
<EditText
android:id="@+id/et_post_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@null"
android:hint="Your discovery"
android:textColor="#FFFFFF"
android:textColorHint="#AAAAAA"
android:minHeight="48dp"
android:inputType="textMultiLine" />
<EditText
android:id="@+id/color"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:hint="Color"
android:textColor="#FFFFFF"
android:textColorHint="#AAAAAA"
android:minHeight="48dp"
android:inputType="text" />
<EditText
android:id="@+id/hardness"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:hint="Hardness"
android:textColor="#FFFFFF"
android:textColorHint="#AAAAAA"
android:minHeight="48dp"
android:inputType="text" />
<EditText
android:id="@+id/composition"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:hint="Composition"
android:minHeight="48dp"
android:textColor="#FFFFFF"
android:textColorHint="#AAAAAA"
android:inputType="text" />
<EditText
android:id="@+id/structuralFeatures"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:hint="Structural features"
android:textColor="#FFFFFF"
android:textColorHint="#AAAAAA"
android:minHeight="48dp"
android:inputType="text" />
<EditText
android:id="@+id/formation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:hint="Formation"
android:minHeight="48dp"
android:textColor="#FFFFFF"
android:textColorHint="#AAAAAA"
android:inputType="text" />
<EditText
android:id="@+id/context"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:hint="Context"
android:textColor="#FFFFFF"
android:textColorHint="#AAAAAA"
android:minHeight="48dp"
android:inputType="text" />
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:hint="Name"
android:textColor="#FFFFFF"
android:textColorHint="#AAAAAA"
android:minHeight="48dp"
android:inputType="text" />
<EditText
android:id="@+id/story"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@null"
android:hint="About?"
android:textColor="#FFFFFF"
android:textColorHint="#AAAAAA"
android:minHeight="48dp"
android:inputType="textMultiLine" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:padding="16dp">
<ImageButton
android:id="@+id/addImage"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
android:contentDescription="Add Image"
android:src="@android:drawable/ic_menu_gallery" />
<ImageButton
android:id="@+id/btn_add_gif"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
android:contentDescription="Add GIF"
android:src="@android:drawable/ic_menu_rotate" />
<ImageButton
android:id="@+id/btn_add_poll"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
android:contentDescription="Add Poll"
android:src="@android:drawable/ic_menu_sort_by_size" />
<ImageButton
android:id="@+id/btn_add_location"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
android:contentDescription="Add Location"
android:src="@android:drawable/ic_menu_mylocation" />
<ImageButton
android:id="@+id/btn_more_options"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
android:contentDescription="More Options"
android:src="@android:drawable/ic_menu_more" />
</LinearLayout>
</RelativeLayout>
您可以尝试动态添加视图。
https://www.youtube.com/watch?v=6IMYGpwuW1I
或者只是操纵视图的可见性。
android:可见性=“消失” view.setVisibility = View.GONE.