`
river418
  • 浏览: 27355 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Android:SNS客户端开发五:发送微博界面设计

 
阅读更多

之前的我们已经通过OAuth认证,通过了新浪的授权并且取得了用户相关的信息。今天开始我们来发送一条微博试试。首先是发送微博界面的布局设计。先看布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/White"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/bg"
        android:gravity="center"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/send_left"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:background="@drawable/pre" >
        </ImageButton>

        <LinearLayout
            android:id="@+id/send_middle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/send_right"
            android:layout_toRightOf="@id/send_left"
            android:gravity="center"
            android:orientation="vertical" >

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/newstatus"
                android:gravity="center" >
            </ImageButton>
        </LinearLayout>

        <ImageButton
            android:id="@+id/send_right"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:background="@drawable/send" >
        </ImageButton>
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" >

        <EditText
            android:id="@+id/editStatus"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="3dip"
            android:background="@color/White"
            android:gravity="top"
            android:hint="您想说点什么呢...">
        </EditText>

        <ImageView
            android:id="@+id/thumbImage"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:padding="3dip"
            android:layout_alignBottom="@id/editStatus"
            android:layout_alignLeft="@id/editStatus" />

        <TextView
            android:id="@+id/statusCount"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@id/editStatus"
            android:layout_alignRight="@id/editStatus" />
    </RelativeLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <GridView
            android:id="@+id/statusTool"
            android:layout_width="fill_parent"
            android:layout_height="30dip"
            android:background="@drawable/maintab_toolbar_bg"
            android:gravity="center"
            android:numColumns="4" >
        </GridView>
    </LinearLayout>

</LinearLayout>

我们为底部的GridView添加一个适配器,用来显示底部按钮相关内容

/*
 * 发送微博,评论,转发页面底部GridView工具栏Adapter
 */
public class BottomBarAdapter extends BaseAdapter{

	private ArrayList<HashMap<String,Object>> data;
	private Context context;
	private String[] menuNameArray;
	private int[] imageResourceArray;
	
	
	public BottomBarAdapter(String[] menuNameArray,
			int[] imageResourceArray, Context context){
		this.imageResourceArray = imageResourceArray;
		this.menuNameArray = menuNameArray;
		this.context = context;
	}
	
	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return imageResourceArray.length;
	}

	@Override
	public Object getItem(int arg0) {
		// TODO Auto-generated method stub
		return imageResourceArray[arg0];
	}

	@Override
	public long getItemId(int position) {
		// TODO Auto-generated method stub
		return position;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		LayoutInflater flater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		convertView = flater.inflate(R.layout.bottombar, null);
		TextView textview = (TextView)convertView.findViewById(R.id.buttombarText);
		ImageView imageview = (ImageView)convertView.findViewById(R.id.buttombarImage);
	//	HashMap<String,Object> button = data.get(position);
		String name = menuNameArray[position];
		int pic = imageResourceArray[position];
		if(name!=""){
			textview.setText(name);
		}else{
			textview.setVisibility(View.GONE);
		}
		imageview.setImageResource(pic);
		return convertView;
	}

}

 接下来在addStatusActivity上我们来实现这个布局,并为GridView添加适配器

public class AddStatusActivity extends Activity {

	private Context context;
private GridView statusTool;
	/** 底部菜单图片 **/
	int[] detail_toolbar_image_array = { R.drawable.pic, R.drawable.at,
			R.drawable.topic, R.drawable.face };
	/** 底部菜单文字 **/
	String[] detail_toolbar_name_array = { "", "", "", "" };

	private final int TOOLBAR_ITEM_PIC = 0;// 图片
	private final int TOOLBAR_ITEM_AT = 1;// @
	private final int TOOLBAR_ITEM_TOPIC = 2;// 话题
	private final int TOOLBAR_ITEM_EMMOTION = 3;// 表情

protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.addstatus);
                                this.context = this;
		setView();

	}
/*
 * 建立视图
 */
	private void setView() {
	statusTool = (GridView) findViewById(R.id.statusTool);
	statusTool.setAdapter(new BottomBarAdapter(detail_toolbar_name_array,detail_toolbar_image_array, context));
	}
}

  注: 我们可以在布局文件中看到有一个id为thumbImage的ImageView,以及一个id为statusCount的TextView。这两个控件分别是用来显示在写微博时添加的图片,以及统计微博已经输入的字数。具体的实现方法将在后面的几篇博文中提到。我们先来看看效果图

  • 大小: 34.4 KB
  • 大小: 33.8 KB
分享到:
评论
1 楼 jia15679 2012-03-23  
少个布局文件吧

相关推荐

    基于安卓Android的SNS社交网络客户应用需求调研报告范本.pdf

    基于此,我们的课题计划开发一款专为Android平台设计的优化版新浪微博客户端。目标是降低准入门槛,提供即时通讯的原创体验,增强互动性,同时避免过多广告干扰。我们将考虑以下几个关键点: 1. **准入门槛低**:...

    iPhone & Android 智能手机客户端软件技术方案

    iPhone和Android智能手机客户端软件技术方案主要针对的是集成了Web2.0技术,并融合了BBS、SNS、博客、微博等多种网络应用的大学生互动网站。方案从整体上讲解了客户端开发的方式、系统支持的运行版本,以及技术方案...

    毕业设计-基于安卓android的sns社交网络客户应用需求调研报告.doc

    然而,现有的Android版新浪微博客户端存在广告过多和界面设计不够新颖的问题,这为新应用的开发提供了机遇。 2.2 微博简介: 微博是一种短小精悍的社交形式,用户可以随时随地分享自己的动态,支持多媒体内容发布。...

    于基安卓android的sns社交网络客户应用需求调研报告大学论文.doc

    现有的Android微博客户端虽功能完备,但广告繁多和界面设计保守导致用户满意度不高,因此开发一款优化用户体验、无广告的微博客户端显得尤为必要。 微博作为一种微型博客,具有准入门槛低、即时通讯和强互动性的...

    基于安卓Android的SNS社交网络客户应用需求调研报告.doc

    针对现有Android平台的新浪微博客户端存在的问题,如广告过多和界面设计保守,本课题旨在开发一款优化用户体验、无广告干扰的Android微博客户端。该客户端将注重用户体验,提供高效、简洁的界面设计,同时确保功能...

    基于安卓android的sns社交网络客户应用需求调研报告-本科论文.doc

    本报告主要针对基于 Android 的 SNS(Social Networking Service)社交网络客户应用进行需求调研,旨在开发一款满足用户需求的、无广告干扰的、具有创新界面设计的新浪微博客户端。 一、同类产品分析 1. 微信: ...

    人人都玩开心网:Ext+JS+Android+SSH整合开发Web与移动SNS

    《人人都玩开心网:Ext+JS+Android+SSH整合开发Web与移动SNS》这本书主要聚焦于构建社交网络服务(SNS)平台,通过结合多种技术实现Web端和移动端的应用开发。以下是书中涉及的主要知识点: 1. **EXT.JS**: EXT....

    SNS.rar_ sns_SNS_android_社交网络

    《Android社交网络客户端开发详解》 在当今数字化时代,社交网络已经成为了人们日常生活的一部分,而Android作为全球最大的智能手机操作系统,其上的社交网络客户端更是扮演着举足轻重的角色。本项目"sns_SNS_...

    于基安卓android的sns社交网络客户应用需求调研报告--大学毕设论文.doc

    综上所述,为了满足Android用户对于SNS社交应用的需求,开发者需要关注用户体验、功能实用性以及与现有社交网络的融合,打造出一个功能齐全、用户界面友好、交互性强的微博客户端。通过这样的应用,用户不仅可以方便...

    Android---Douban-SNS.zip_android_android sns

    在Android平台上,开发一款社交网络应用(SNS)如豆瓣网的移动客户端,涉及到许多关键技术和概念。这个项目"Android---Douban-SNS.zip"很可能是为了教学或实践目的,提供了一个完整的讲解和源代码资源,让我们来深入...

    基于安卓Android的SNS社交网络客户应用需求调研报告范本.docx

    在国内,新浪微博在移动端的需求尤为强烈,但现有客户端广告较多,界面设计保守,引发了用户不满。 - **微博简介**:微博是一种短格式的在线社交服务,允许用户快速发布和分享信息,每条不超过140字。它具有低准入...

    ExtJS+Android+SSH整合开发Web与移动SNS

    ### ExtJS+Android+SSH整合开发Web与移动SNS #### 一、概述 随着互联网技术的不断发展,Web应用及移动应用的需求日益增加。在众多的技术栈中,ExtJS、Android以及SSH(Struts2 + Spring + Hibernate)是构建高质量...

    人人都玩开心网•Ext+JS+Android+BSSH整合开发Web与移动SNS源码

    源码中的各个部分揭示了从客户端界面到服务器端运维的完整开发流程,对于学习和理解SNS系统的构建有着极高的参考价值。通过深入研究这些源码,开发者不仅能提升技术能力,还能洞悉社交网络服务的设计理念和实践方法...

    人人都玩开心网 ExtJS Android.SSH整合开发Web与移动SNS.(李宁)

    整合开发Web与移动SNS,实际上就是将Web前端的ExtJS界面、SSH框架的后台逻辑以及Android客户端结合起来,形成一套完整的用户体验。这不仅需要前端和后端开发的技能,还需要移动开发的经验以及对网络通信协议的了解。...

    人人都玩开心网 Ext+JS+Android+SSH整合开发Web与移动SNS源码 1

    Android SDK提供了开发环境和工具,开发者可以使用Java语言编写应用,并通过Android Studio进行编译和调试。 结合这些技术,"人人都玩开心网"实现了Web与移动平台的无缝集成。在Web端,Ext JS确保了用户界面的流畅...

    SNS驴友系统

    总的来说,"SNS驴友系统"项目涵盖了Android开发的众多关键技术和最佳实践,包括服务器端架构设计、数据库管理、客户端UI设计、网络通信、数据模型、推送通知、地图服务以及性能优化。深入研究这个项目,不仅可以提升...

    嘀咕客户端android源代码,可学习参考

    今天我们将探讨的是一个名为“嘀咕客户端”的Android源代码,它为我们提供了一个宝贵的参考资料,特别是对于那些希望深入理解Android应用开发,或者想要构建社交网络服务(SNS)应用的开发者来说。 “嘀咕客户端”...

    记事狗微博系统 4.7.4 Build 20140922 UTF8.zip

    记事狗微博系统采用php mysql开发并开源发布,可承载千万级用户,其支持Wap、3G、Android客户端、iphone客户端、短信、微信等多种方式发布内容,并可选择同步到主流的微博平台(也支持微博帐户登录),内置的插件和...

    Android-轻境界采用KotlinSpringBootJavaScript构建的SNS社区

    【Android开发-Kotlin开发】 在Android开发领域,Kotlin已经成为主流的编程语言,以其简洁、安全和富有表现力的语法深受开发者喜爱。本项目“轻境界”充分利用了Kotlin的优势,构建了一个现代化的社交网络服务(SNS...

Global site tag (gtag.js) - Google Analytics