当前位置: 编程技术>移动开发
本页文章导读:
▪007 走下移动开发之安卓项目实战(小帅新闻:新闻主界面布局 以及导航条的实现) 007 走上移动开发之安卓项目实战(小帅新闻:新闻主界面布局 以及导航条的实现)上次跟大家已经说完了百度地图的使用,简单的概括了百度地图对API的调用方法已经使用方法,今天开始带来.........
▪ TextView跟EditText 属性详细介绍 TextView和EditText 属性详细介绍TextView属性详细介绍:
http://www.cnblogs.com/hxxy2003/archive/2011/08/05/2129050.html
EditText属性详细介绍:
http://www.cnblogs.com/over140/archive/2010/09/02/1815439.html
禁止edittext复制粘.........
▪ S3C6410(arm11核)的DM9000移栽 S3C6410(arm11核)的DM9000移植
第一步 配置内核
[*] Networking support --->
Networkingoptions --->
[*]TCP/IP networking
Device Drivers --->
[*]Network device support ---&.........
[1]007 走下移动开发之安卓项目实战(小帅新闻:新闻主界面布局 以及导航条的实现)
来源: 互联网 发布时间: 2014-02-18
007 走上移动开发之安卓项目实战(小帅新闻:新闻主界面布局 以及导航条的实现)
然后就是对 MainActivity.java 文件进行实现功能 下面是具体代码
还需要用到一个类是对像素跟DP之间来转换
这样,通过上面的步骤,新闻客户端的基本步骤就完成了,下面送上刚刚编写完成的代码
上次跟大家已经说完了百度地图的使用,简单的概括了百度地图对API的调用方法已经使用方法,今天开始带来的是新闻客户端的使用
飞机直达-->小帅新闻客户端源代码下载
首先让我们先来看看效果图片
对这个客户端的实现首先要感谢 若水 的无私恭喜,希望大家多多支持若水
首先创建如下图所展示的工程
接下来就是打开main.xml文件进行编辑下面是XML文件的全部代码
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@id/main_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/main_background"> <RelativeLayout android:id="@id/titlebar_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/titlebar_background"> <TextView android:id="@id/titlebar_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/titlebar_xiaoshuai" android:textSize="23sp" android:layout_marginTop="8dp" android:layout_marginLeft="10dp" /> <Button android:id="@id/titlebar_refresh" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/titlebar_btn_refresh_selector" android:layout_alignParentRight="true" android:layout_marginTop="8dp" android:layout_marginRight="12dp" /> </RelativeLayout> <RelativeLayout android:id="@id/categorybar_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/categorybar_background" android:layout_marginTop="-16dp"> <HorizontalScrollView android:id="@id/category_scrollview" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="6dp" android:scrollbars="none" android:layout_toLeftOf="@id/category_arrow_right" android:layout_centerVertical="true"> <LinearLayout android:id="@id/category_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical"/> </HorizontalScrollView> <Button android:id="@id/category_arrow_right" android:layout_width="6dp" android:layout_height="10dp" android:background="@drawable/categorybar_right_arrow" android:layout_alignParentRight="true" android:layout_marginRight="15dp" android:gravity="center_vertical" android:layout_centerVertical="true"/> </RelativeLayout> <ListView android:id="@id/newslist" android:layout_width="wrap_content" android:layout_height="fill_parent" android:listSelector="@drawable/newslist_item_selector" android:cacheColorHint="#00000000" android:divider="@drawable/list_separator_line"> </ListView> </LinearLayout>
然后就是对 MainActivity.java 文件进行实现功能 下面是具体代码
package com.sy.news.activity; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import android.app.Activity; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.GridView; import android.widget.HorizontalScrollView; import android.widget.LinearLayout; import android.widget.SimpleAdapter; import com.sy.news.R; import com.sy.news.util.DensityUtil; public class MainActivity extends Activity { //定义category.setColumnWidth的宽度 private final int COLUMNWIDTHPX = 130; private int mColumnWidthDip; //定义滚动的距离 private final int FLINGVELOCITYPX = 1000; private int mFlingVelocityDip; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mColumnWidthDip = DensityUtil.px2dip(this, COLUMNWIDTHPX); mFlingVelocityDip = DensityUtil.px2dip(this, FLINGVELOCITYPX); //获取文章的分类信息 String[] categoryArray = getResources().getStringArray(R.array.categories); //设置数据适配器 List<HashMap<String,String>> categories = new ArrayList<HashMap<String,String>>(); for(int i = 0;i<categoryArray.length;i++){ HashMap<String,String> hashMap = new HashMap<String, String>(); hashMap.put("category_title", categoryArray[i]); categories.add(hashMap); } SimpleAdapter categoryAdapter = new SimpleAdapter( this, categories, R.layout.category_title, new String[]{"category_title"}, new int[]{R.id.category_title}); //声明GridView视图 GridView category = new GridView(this); category.setColumnWidth(mColumnWidthDip); category.setNumColumns(GridView.AUTO_FIT); //设置对其方式 category.setGravity(Gravity.CENTER); //指定宽度和高度 int width = mColumnWidthDip * categories.size(); LayoutParams params = new LayoutParams(width,LayoutParams.WRAP_CONTENT); //对控件产生作用 category.setLayoutParams(params); //设置控件的颜色 category.setSelector(new ColorDrawable(Color.TRANSPARENT)); //传人数据 category.setAdapter(categoryAdapter); //去掉滚动到最边界产生的阴影(没有效果) category.setHorizontalFadingEdgeEnabled(false); //放入界面 LinearLayout categoryLayout = (LinearLayout) findViewById(R.id.category_layout); categoryLayout.addView(category); //为Button添加事件让其可以控制导航栏 final HorizontalScrollView categoryScrollview = (HorizontalScrollView) findViewById(R.id.category_scrollview); Button categoryArrowRight = (Button) findViewById(R.id.category_arrow_right); categoryArrowRight.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { categoryScrollview.fling(mFlingVelocityDip); } }); } }
还需要用到一个类是对像素跟DP之间来转换
package com.sy.news.util; import android.content.Context; public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } }
这样,通过上面的步骤,新闻客户端的基本步骤就完成了,下面送上刚刚编写完成的代码
[2] TextView跟EditText 属性详细介绍
来源: 互联网 发布时间: 2014-02-18
TextView和EditText 属性详细介绍
TextView属性详细介绍:
http://www.cnblogs.com/hxxy2003/archive/2011/08/05/2129050.html
EditText属性详细介绍:
http://www.cnblogs.com/over140/archive/2010/09/02/1815439.html
禁止edittext复制粘贴(剪切板)
textField.setLongClickable(false);
Android自由选择TextView的文字
http://blog.csdn.net/muyu114/article/details/6337789
[3] S3C6410(arm11核)的DM9000移栽
来源: 互联网 发布时间: 2014-02-18
S3C6410(arm11核)的DM9000移植
第一步 配置内核 [*] Networking support ---> Networkingoptions ---> [*]TCP/IP networking Device Drivers ---> [*]Network device support ---> [*] Ethernet (10 or 100Mbit) ---> <*> DM9000 support 第二步 配置参数 (1) #include <linux/dm9000.h> // ANW6410_PA_DM9000根据电路图中使用的片选决定 #define ANW6410_PA_DM9000 (0x18000000) static struct resourceanw6410_dm9000_resource[] = { [0]= { .start= ANW6410_PA_DM9000, .end = ANW6410_PA_DM9000 + 3, .flags= IORESOURCE_MEM, }, [1]= { .start= ANW6410_PA_DM9000 + 4, .end = ANW6410_PA_DM9000 + 4 + 500, .flags= IORESOURCE_MEM, }, [2]= { .start= IRQ_EINT(7), .end = IRQ_EINT(7), .flags= IORESOURCE_IRQ | IRQF_TRIGGER_HIGH, }, }; static struct dm9000_plat_dataanw6410_dm9000_pdata = { .flags =(DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM), /*dev_addr can be set to provide hwaddr. */ }; static struct platform_deviceanw6410_device_eth = { .name = "dm9000", .id = -1, .num_resources = ARRAY_SIZE(anw6410_dm9000_resource), .resource = anw6410_dm9000_resource, .dev = { .platform_data = &anw6410_dm9000_pdata, }, }; 在anw6410_machine_init中调用anw6410_dm9000_enable(); (4) static struct platform_device*anw6410_devices[] __initdata = { &s3c_device_fb, &anw6410_lcd_powerdev, &anw6410_device_eth, &s3c_device_nand, }; 移植中遇到的问题: 1.移植dm9000 开发板ping电脑时,系统死掉,提示以下错误 [root@FriendlyARM /]# ping 192.168.1.89 PING 192.168.1.89 (192.168.1.89): 56 data bytes ------------[ cut here ]------------ WARNING: at net/sched/sch_generic.c:246 dev_watchdog+0x15c/0x244() NETDEV WATCHDOG: eth0 (dm9000): transmit queue 0 timed out Modules linked in: [<c0025868>] (unwind_backtrace+0x0/0xd4) from [<c0036f40>] (warn_slowpath_common +0x48/0x60) [<c0036f40>] (warn_slowpath_common+0x48/0x60) from [<c0036f90>] (warn_slowpath_f mt+0x24/0x30) 原因已找到 是和其它设备配置起冲突导致出现这个问题
最新技术文章: