当前位置: 编程技术>移动开发
本页文章导读:
▪配置开发者证件 配置开发者证书
自己总结的,截图绝对够全,并且是最新的还有问题可以QQ联系,能帮的一定帮
1017129967
1 楼
be_as_me
2013-09-13
已下载,谢谢分享! ......
▪ XMPP通信开发-弹出好友通信对话框的逻辑设计 XMPP通讯开发-弹出好友通信对话框的逻辑设计在QQ里面我们要跟好友进行通信,选择好友所在的组,双击好友选项,弹出聊天的对话框,这里我们就要实现这个步骤,在之前显示好友列表的功.........
▪ 画廊视图(Gallery)的效能和用法 画廊视图(Gallery)的功能和用法Gallery与Spinner组件有共同的父类:AbsSpinner,表明Gallery和Spinner都是一个列表框。它们之间的区别在于Spinner显示的是一个垂直的列表选择框吗,而Gallery显示的是一.........
[1]配置开发者证件
来源: 互联网 发布时间: 2014-02-18
配置开发者证书
自己总结的,截图绝对够全,并且是最新的还有问题可以QQ联系,能帮的一定帮
1017129967
1 楼
be_as_me
2013-09-13
已下载,谢谢分享!
[2] XMPP通信开发-弹出好友通信对话框的逻辑设计
来源: 互联网 发布时间: 2014-02-18
XMPP通讯开发-弹出好友通信对话框的逻辑设计
我给JTree添加了一个双击鼠标事件,看一下上面的代码的实现效果:
在QQ里面我们要跟好友进行通信,选择好友所在的组,双击好友选项,弹出聊天的对话框,这里我们就要实现这个步骤,在之前显示好友列表的功能里面我使用的是JTree组件,所以我们显示的也就是一个树形结构,分为根节点,枝节点,叶节点,而要弹出框的节点就是叶节点,所有当我们双击功能的时候,要进行判断。
tree = new JTree(top); tree.addMouseListener(new MouseAdapter(){ @Override public void mouseClicked(MouseEvent e) { if(e.getClickCount() == 2){ DefaultMutableTreeNode note=(DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); if(note.isRoot()){ System.out.println("root "+note.toString()); }else if(note.isLeaf()){ System.out.println("叶节点 "+note.toString()); }else{ System.out.println("枝节点 "+note.toString()); } } super.mouseClicked(e); //To change body of generated methods, choose Tools | Templates. } });
我给JTree添加了一个双击鼠标事件,看一下上面的代码的实现效果:
run: root 好友 root 好友 枝节点 客户 叶节点 袁莉 叶节点 克旗从上面我们可以看到叶节点就是我们想要的,当用户双击枝节点的时候,我们需要创建一个对话框,在对话框里面使用JPanel设计布局,当双击好友的时候,弹出聊天对话框,我们在上面的代码里面在补充一个对话框功能,
tree = new JTree(top); tree.addMouseListener(new MouseAdapter(){ @Override public void mouseClicked(MouseEvent e) { if(e.getClickCount() == 2){ DefaultMutableTreeNode note=(DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); if(note.isRoot()){ System.out.println("root "+note.toString()); }else if(note.isLeaf()){ System.out.println("叶节点 "+note.toString()); ChatPanel chatPanel = new ChatPanel(); JDialog chatDialog = new JDialog(); chatDialog.setContentPane(chatPanel); chatDialog.setSize(501, 512); chatDialog.setVisible(true); }else{ System.out.println("枝节点 "+note.toString()); } } super.mouseClicked(e); //To change body of generated methods, choose Tools | Templates. } });效果图如下:
当然现在的效果只是一个框框,如果要实现通信我们需要自己重写这个JDialog,将需要的参数传递给JDialog才行,这个我们放在下面一章里面。
[3] 画廊视图(Gallery)的效能和用法
来源: 互联网 发布时间: 2014-02-18
画廊视图(Gallery)的功能和用法
运行结果:
Gallery与Spinner组件有共同的父类:AbsSpinner,表明Gallery和Spinner都是一个列表框。它们之间的区别在于Spinner显示的是一个垂直的列表选择框吗,而Gallery显示的是一个水平的列表选择框。
下面以一个例子来说明:
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ImageView android:id="@+id/imageView" android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1"/> <Gallery android:id="@+id/gallery" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="25dip" android:unselectedAlpha="0.6" android:spacing="2pt"/> </LinearLayout>
package com.example.testgallary; import android.app.Activity; import android.content.res.TypedArray; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; public class MainActivity extends Activity { private int[] imageIds = new int[]{ R.drawable.img1, R.drawable.img2, R.drawable.img3, R.drawable.img4, R.drawable.img5, R.drawable.img6, }; private Gallery gallery; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gallery = (Gallery) findViewById(R.id.gallery); imageView = (ImageView) findViewById(R.id.imageView); BaseAdapter adapter = new BaseAdapter() { @Override public View getView(int position, View convertView, ViewGroup parent) { // 创建一个ImageView ImageView imageView = new ImageView(MainActivity.this); imageView.setImageResource(imageIds[position]); // 设置ImageView的缩放类型 imageView.setScaleType(ImageView.ScaleType.FIT_XY); // 为imageView设置布局参数 imageView.setLayoutParams(new Gallery.LayoutParams(75, 100)); TypedArray typedArray = obtainStyledAttributes( R.styleable.Gallery); imageView.setBackgroundResource(typedArray.getResourceId( R.styleable.Gallery_android_galleryItemBackground, 0)); return imageView; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public Object getItem(int item) { // TODO Auto-generated method stub return item; } @Override public int getCount() { // TODO Auto-generated method stub return imageIds.length; } }; gallery.setAdapter(adapter); gallery.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { imageView.setImageResource(imageIds[position]); } @Override public void onNothingSelected(AdapterView<?> view) { } }); } }
运行结果:
最新技术文章: