Android 高仿百度贴吧发帖页面
本次项目是做一个论坛,我仿照了一下百度贴吧的发帖效果,实现界面如下所示,将源码发出来分享一下。
核心主要是实现两个地方:
1、点击输入框之后,页面浮动,将下面的上传图片布局给顶上来。
2、输入帖子内容部分需要全屏显示;
针对这两个部分,这里分别交代一下:
1)为了实现点击输入框之后,页面浮动,将下面的上传图片布局给顶上来。这里将内容部分嵌套一个ScrollView滚动模块,这样就可以被顶起。
2)为了达到全屏显示帖子内容。这里需要将ScrollView中加入如下设置:
android:fillViewport="true"
使内部支持android:layout_height="match_parent"
由于这是项目中的一部分,没有单独做Demo了,这就不放出来了~核心源码全部在下面。
publish_note.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- 加载标题栏 --> <include android:id="@+id/publish_title_bar" layout="@drawable/publish_title_bar" /> <LinearLayout android:id="@+id/publish_note_bottom_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="horizontal"> <!-- 加载底部栏 --> <include layout="@drawable/publish_note_bottom_bar" /> </LinearLayout> <!-- 帖子标题 --> <EditText android:id="@+id/et_note_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/publish_title_bar" android:hint="@string/tip_note_title"/> <ScrollView android:id="@+id/sv_note_contain" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" android:layout_above="@id/publish_note_bottom_bar" android:layout_below="@id/et_note_title"> <!-- 帖子内容 --> <EditText android:id="@+id/et_note_contain" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="top" android:inputType="textMultiLine" android:singleLine="false" android:hint=""/> </ScrollView> </RelativeLayout>publish_title_bar.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="48dp" android:background="@color/index_title"> <!-- 回退 --> <ImageView android:id="@+id/im_back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_alignParentLeft="true" android:contentDescription="@string/desc_indexpic" android:src="@drawable/browser_back" /> <!-- 发表主题 --> <TextView android:id="@+id/tv_publish" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="@string/publish_topic" android:textColor="@color/black" android:textSize="18pt"/> <!-- 占位 --> <TextView android:id="@+id/tv_null" android:layout_width="10dp" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:text=""/> <!-- 发帖 --> <TextView android:id="@+id/tv_publish_note" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/tv_null" android:layout_centerVertical="true" android:textColor="@color/black" android:textSize="18pt" android:text="@string/publish_note"/> </RelativeLayout>publish_bottom_bar.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <ImageView android:id="@+id/im_pictrue" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_alignParentLeft="true" android:contentDescription="@string/desc_indexpic" android:src="@drawable/btn_pb_add_n" /> </LinearLayout>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。