自定义activity窗口大小
来源:互联网 发布:网络刷钱神豪小说 编辑:程序博客网 时间:2024/05/22 15:02
1.创建一个背景配置文件,放到res/drawable目录下
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <!-- 填充 --> <solid android:color="#9000" /> <!-- 描边 --> <stroke android:width="1dp" android:color="@color/white50" /> <!-- 圆角 --> <corners android:radius="3dp" /> <!-- 间隔 --> <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" /></shape>
2.定义一个对话框样式,放到res/values/styles.xml文件中
<style name="Theme.Test" parent="android:style/Theme.Dialog"> <item name="android:windowNoTitle">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item> <item name="android:height">100dp</item> <item name="android:width">100dp</item> <item name="android:windowBackground">@drawable/shape_trans_rectangle</item> </style>
3.修改Manifes.xml,将我们刚才创建的样式应用到activity上面
<activity android:name=".activity.cgo4.TestActivity" android:screenOrientation="landscape" android:theme="@style/Test" />
不出意外,到此已经大功告成.
但是我使用了v4包里的drawlayout控件,出现了如下异常:
java.lang.IllegalArgumentException: DrawerLayout must be measured with MeasureSpec.EXACTLY. at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:591) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.view.View.measure(View.java:15172) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1850) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1102) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1275) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4214) ....
发现问题是:
drawlayout的height和width设置为match_parent问题.
All I have is a fragment whose root view is a DrawerLayout with width and height match_parent. I get the DrawerLayout must be measured with MeasureSpec.EXACTLY exception at runtime (although it looks fine at design time now).
解决方法:
extending the DrawerLayout, and overriding onMeasure() .
public class CustomDrawerLayout extends DrawerLayout { public CustomDrawerLayout(Context context) { super(context); } public CustomDrawerLayout(Context context, AttributeSet attrs) { super(context, attrs); } public CustomDrawerLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { widthMeasureSpec = MeasureSpec.makeMeasureSpec( MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.EXACTLY); heightMeasureSpec = MeasureSpec.makeMeasureSpec( MeasureSpec.getSize(heightMeasureSpec), MeasureSpec.EXACTLY); super.onMeasure(widthMeasureSpec, heightMeasureSpec); }}
0 0
- 自定义activity窗口大小
- android自定义Activity窗口大小
- android 自定义Activity窗口大小
- (转)android自定义Activity窗口大小
- android 自定义activity的窗口大小(theme运用)
- android自定义Activity窗口大小(theme运用)
- android自定义Activity窗口大小(theme运用)
- Activity窗口设置大小
- Android: 自定义窗口大小
- Android Activity 设置 窗口大小
- android自定义Activity窗体大小
- 自定义鼠标修改窗口大小
- 如何自定义activity窗口标题!!
- Android自定义Activity窗口标题
- 简单设置固定大小的窗口activity
- labview界面分隔和自定义窗口大小
- 自定义OSG窗口大小(设置Osgiewer)
- 自定义窗口大小并且让定义在自定义窗口的什么位置显示,窗口可以拖动。
- curl HTTP请求基本操作
- Java存储过程调用事例
- DBUtils使用详解
- clock()和GetTickCount()
- 禁止Section停留,挡住Cell
- 自定义activity窗口大小
- PHP中include require include_once require_once 的区别
- 复习整理3
- IOS - 注册手机号和重置密码请求函数
- 数据库中的事务日志
- 65 另一种阶乘问题
- 树的子结构
- springmvc之restful风格003
- git结合SourceTree的工作流程和两人协作的工作模型(仅供参考)