由于界面的元素并不是很多,主要是弹窗,字体,位置,弹窗内的布局间距等那么几个,所以基本都是靠dimen来做的,同时稍微在生成弹窗布局的时候,通过代码利用屏幕宽高,利用dimen的值来实现效果,基本还是可以满足需求的;
同样: 高手可以指点指点,或者飘过~~~
dimens.xml - 工程结构在
http://blog.chinaunix.net/uid-25799257-id-4724749.html 有描述
-
<resources>
-
-
<!-- Default screen margins, per the Android Design guidelines. -->
-
<dimen name="activity_horizontal_margin">16dp</dimen>
-
<dimen name="activity_vertical_margin">16dp</dimen>
-
<dimen name="layout_menu_width">180dp</dimen>
-
<dimen name="layout_menuItem_width">170dp</dimen>
-
<dimen name="half_layout_menu_width">70dp</dimen>
-
<dimen name="half_layout_menuIcon_width">50dp</dimen>
-
<dimen name="layout_title_barItem_width">35.0dip</dimen>
-
<dimen name="myAppPopuWinHeight">98.0dip</dimen>
-
<dimen name="myAppPushDataShowTextVHeight">40.0dip</dimen>
-
<dimen name="myAppPushDataShowTextVWidth">200.0dip</dimen>
-
<dimen name="editSizeWidth">120.0dip</dimen>
-
<dimen name="editSizeHeigth">40.0dip</dimen>
-
<dimen name="private_tipTVMarginTop">100.0dip</dimen>
-
<dimen name="private_tipTVMarginBottom">20.0dip</dimen>
-
<dimen name="privatePassSureBtnWidth">80.0dip</dimen>
-
<dimen name="privatePassSureBtnHeigth">60.0dip</dimen>
-
<dimen name="privatePopuTiptextSize">10.0sp</dimen>
-
<dimen name="textSize">18.0sp</dimen>
-
</resources>
上面基本都是不同比例下,有一套这样的文件;有些直接在布局中使用,有些在代码中使用,that is it.
比如(我的没有的分辨率会给出一个默认的9999dip);
-
contentView = LayoutInflater.from(context).inflate(R.layout.myapppopuwin, null, true);
-
///< 获取不同分辨率下的我的App的弹窗的尺寸,并且如果没有该尺寸,则设置为屏幕高度的1/4
-
float popuWinHeight = this.context.getResources().getDimension(R.dimen.myAppPopuWinHeight);
-
if (9999 == popuWinHeight)
-
{
-
popuWinHeight = ScreenInfo.SCREEN_HEIGHT/4;
-
}
-
m_popupWindow = new PopupWindow(contentView, LayoutParams.FILL_PARENT, (int)popuWinHeight, true);
像这种就是直接使用屏幕信息:
-
///< 加载和设置布局
-
contentView = LayoutInflater.from(context).inflate(R.layout.privatepopuwin, null, true);
-
window = new PopupWindow(contentView, (int)ScreenInfo.SCREEN_WIDTH*2/5, (int)ScreenInfo.SCREEN_HEIGHT*2/5, true);
当然也是需要在布局文件里面使用dimen的...
-
<TextView
-
android:id="@+id/private_tipTV"
-
android:layout_width="wrap_content"
-
android:layout_height="wrap_content"
-
android:layout_marginTop="@dimen/private_tipTVMarginTop"
-
android:layout_marginBottom="@dimen/private_tipTVMarginBottom"
-
android:layout_centerHorizontal="true"
-
android:text="@string/privatepassStr"
-
android:textSize="@dimen/privatePopuTiptextSize" >
-
</TextView>
最后大体适配了三个分辨率,真机上也做了两个适配,基本ok的。
到目前基本的本地的功能已经实现,还剩下菜单,删除功能【关于删除可能需要注意,因为删除的内容是在适配器中的,而删除按钮是再header下,不再一个界面,得稍微处理下交换的问题】,应用中心的消息推送完善;已知的Bug,下载时更新进度条的时候,条目间的进度信息显示错乱!!! 有空就接着完善。。。
阅读(4336) | 评论(0) | 转发(1) |