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>


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。