panelandroid
⑴ android Gridview如何控制滑动速度或滑动距离
写个程序就可以了,具体如下:
1,定义一个类继承GridView,如下:
public class SourcePanel extends GridView {
public SourcePanel(Context context) {
super(context);
}
public SourcePanel(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SourcePanel(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
}
注意:构造方法要将GridView中的三种构造全部写上,否则很可能出现解析xml文件异常的错误。
2,在该类中重写dispatchTouchEvent()方法,如下:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_MOVE) {
return true; //禁止GridView滑动
}
return super.dispatchTouchEvent(ev);
}
3,在布局文件(xml)中定义该控件时写全包名,如下(属性跟GridView控件属性一样,按需求自加):
<com.kz.steerwheel.view.SourcePanel
android:id="@+id/sourcePanel"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
⑵ Android中style和theme的区别
闪黑屏的原因主要是我们启动Activity的时候,需要跑完onCreate和onResume才会显示界面 前几天Boss就反应说,机器每次启动程序都会闪一下黑屏,这个客户不接受。没办法,只能想想怎么解决,最后找到了下面的方法。闪黑屏的原因主要是 我们启动Activity的时候,需要跑完onCreate和onResume才会显示界面。也就是说需要处理一些数据后,才会显示。按照这种思路,是不 是我把初始化的工作尽量减少就可以避免黑屏?事实是,就算你onCreate啥都不做,仍然会闪一下黑屏,因为初始化解析界面时需要一定时间。下面是解决 办法: 1、自定义Theme 复制代码 代码如下: 设置背景图Theme <style name="Theme.AppStartLoad" parent="android:Theme"> <item name="android:windowBackground">@drawable/ipod_bg</item> <item name="android:windowNoTitle">true</item> </style> //2、设置透明Theme <style name="Theme.AppStartLoadTranslucent" parent="android:Theme"> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> </style> 上面我定义了两种Theme,第一种Theme就是设置一张背景图。当程序启动时,首先显示这张背景图,避免出现黑屏。第二种Theme是把样式设置为透明,程序启动后不会黑屏而是整个透明了,等到界面初始化完才一次性显示出来。下面说说两种方式的优缺点: •Theme1 程序启动快,界面先显示背景图,然后再刷新其他界面控件。给人刷新不同步感觉。 •Theme2 给人程序启动慢感觉,界面一次性刷出来,刷新同步。 2、修改AndroidManifest.xml 为了使上面Theme生效,我们需要设置一些Activity的Theme 复制代码 代码如下: <application android:allowBackup="true" android:icon="@drawable/ipod_icon" android:label="@string/app_name" android:launchMode="singleTask"> <!-- iPod主界面 --> <activity android:name="com.apical.apicalipod.IPodMainActivity" <!-- 使用上面定义的样式 mythou--> android:theme="@style/Theme.AppStartLoad" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> //...... </application> •可以在Activity里面增加上面自定义的样式。另外在Application里面增加也是可以的,而且是全局效果。 •自定义Theme放在 /res/values/styles.xml 里面。如果没有这个文件,自己添加一个即可。 •如果存在多个Activity切换,中间也可能会存在短暂黑屏问题。原因也是Activity启动的时候需要初始化加载数据,如果想避免这种情况,可以在你切换的Activity里面增加上面的样式。 •上面两种样式都可以避免黑屏。可以实际测试一下你的程序选择一种效果。 •这个只是把黑屏避免了,但是如果你程序初始化启动慢,还是会给人程序启动慢的感觉。需要自行优化程序初始化过程。 3、Theme属性详解 复制代码 代码如下: android:theme="@android:style/Theme.Dialog" //Activity显示为对话框模式 android:theme="@android:style/Theme.NoTitleBar" //不显示应用程序标题栏 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" //不显示应用程序标题栏,并全屏 android:theme="Theme.Light " //背景为白色 android:theme="Theme.Light.NoTitleBar" //白色背景并无标题栏 android:theme="Theme.Light.NoTitleBar.Fullscreen" //白色背景,无标题栏,全屏 android:theme="Theme.Black" //背景黑色 android:theme="Theme.Black.NoTitleBar" //黑色背景并无标题栏 android:theme="Theme.Black.NoTitleBar.Fullscreen" //黑色背景,无标题栏,全屏 android:theme="Theme.Wallpaper" //用系统桌面为应用程序背景 android:theme="Theme.Wallpaper.NoTitleBar" //用系统桌面为应用程序背景,且无标题栏 android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" //用系统桌面为应用程序背景,无标题栏,全屏 android:theme="Theme.Translucent" //透明背景 android:theme="Theme.Translucent.NoTitleBar" //透明背景并无标题 android:theme="Theme.Translucent.NoTitleBar.Fullscreen" //透明背景并无标题,全屏 android:theme="Theme.Panel " //面板风格显示 android:theme="Theme.Light.Panel" //平板风格显示 4、Theme和Style Android里面除了Theme外还有Style,例如下面是Launcher里面配置workspace的一个Style 复制代码 代码如下: <style name="WorkspaceIcon"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">match_parent</item> <item name="android:layout_gravity">center</item> <item name="android:gravity">center_horizontal</item> <item name="android:singleLine">true</item> <item name="android:ellipsize">marquee</item> <item name="android:textSize">12sp</item> <item name="android:textColor">#FFF</item> <item name="android:shadowRadius">2.0</item> <item name="android:shadowColor">#B0000000</item> </style> Style可以理解为一组属性集合,方便不同的View设置使用,我们在View里面使用Style的时候,跟使用Theme是一样的应用方法。那么Style和Theme有什么区别? 下面列出两者区别: •样式用在单独的View,如:Button、TextView等 •主题通过AndroidManifest.xml中的<application>和<activity>用在整个应用或者某个 Activity,主题对整个应用或某个Activity存在全局性影响。 •如果一个应用使用了主题,同时应用下的view也使用了样式,那么当主题与样式属性发生冲突时,样式的优先级高于主题。 上面就是通过Theme解决程序启动闪黑屏问题,并且讲解了Theme和Style,通过Theme配置,其实还可以做个欢迎页面。不过我们都希望程序启动速度越快越好,因此还是需要多多优化自己的程序。
⑶ android打开一个窗口后如何设置屏幕背景变暗且不能点击
1楼的回答是错误的,那是在窗口以外的地方不可点击,楼主是要在该panel不可点击。如果你的panel就是一个布局,你可以在onTouch方法返回false试试
⑷ android panel抽屉是什么意思
抽屉就是你按菜单键后进入能看到所有应用程序图标的那个地方
⑸ android 怎么计算出gridview 的每个元素的坐标
写个程序就可以了,具体如下: 1,定义一个类继承GridView,如下: public class SourcePanel extends GridView { public SourcePanel(Context context) { super(context); } public SourcePanel(Context context, AttributeSet attrs) { super(context, attrs); } public SourcePanel(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } } 注意:构造方法要将GridView中的三种构造全部写上,否则很可能出现解析xml文件异常的错误。 2,在该类中重写dispatchTouchEvent()方法,如下: @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_MOVE) { return true; //禁止GridView滑动 } return super.dispatchTouchEvent(ev); } 3,在布局文件(xml)中定义该控件时写全包名,如下(属性跟GridView控件属性一样,按需求自加): <com.kz.steerwheel.view.SourcePanel android:id="@+id/sourcePanel" android:layout_width="match_parent" android:layout_height="match_parent" />
⑹ ios textfield的toolbar上面系统的item有哪些
放两个panel 在窗体上,都设置属性Dock 为 top , menu 放在上面panel里,toolbar放在下面的panel
Android Menu的文字有两种设置方式:
在 menu.xml中设置。
在java代码onCreateOptionsMenu中设置。
以下为示例代码:
在menu.xml中指定title即可
<item android:id="@+id/menu"
android:title="文字"/>
重载onCreateOptionsMenu(Menu menu)方法,并调用API。
menu.add((int groupId, int itemId, int order, charsequence title) .setIcon(drawable ID)
add()方法的四个参数,依次是:
1、组别,如果不分组的话就写Menu.NONE。
2、Id,这个很重要,Android根据这个Id来确定不同的菜单 。
3、顺序,哪个菜单项在前面由这个参数的大小决定 。
4、文本,菜单项的显示文本。
⑺ 为什么在xml下直接用android定义背景色不管用
在java文件里设置:
LinearLayout myLayout = () findViewById(R.id.linearLayout1);
myLayout.setBackgroundColor(Color.WHITE);
三、在AndroidManifest.xml里利用android:theme来设置,这个命令还是很强大的,如下所示:
theme的设置 可以设置为系统自带的格式,也可以自定义格式。
A: 系统自带格式
@android:style/Theme.Black //背景黑色-有标题-非全屏
@android:style/Theme.Black.NoTitleBar //背景黑色-无标题-非全屏
@android:style/Theme.Black.NoTitleBar.Fullscreen //背景黑色-无标题-全屏显示
@android:style/Theme.Dialog //对话框显示
@android:style/Theme.InputMethod
@android:style/Theme.Light //背景白色-有标题-非全屏
@android:style/Theme.Light.NoTitleBar //背景白色-无标题-非全屏
@android:style/Theme.Light.NoTitleBar.Fullscreen //背景白色-无标题-全屏显示
@android:style/Theme.Light.Panel
@android:style/Theme.Light.WallpaperSettings //背景透明
@android:style/Theme.NoDisplay
@android:style/Theme.Translucent.NoTitleBar.Fullscreen //半透明、无标题栏、全屏
@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen
可以在单个Activity里设置,也可以在applicaiton里全局设置。比如:
<activity android:screenOrientation="portrait" android:name=".ui.RegisterActivity" android:theme="@android:style/Theme.NoTitleBar"></activity>
B:也可以自定义
在activity里加入 android:theme="@style/MyTitleBar" 再在 style.xml里加入
<style name="MyTitleBar" parent="android:Theme">
<item name="android:windowTitleSize">50dip</item>
<item name="android:windowTitleBackgroundStyle">@style/MyTitleBackground</item>
<item name="android:windowTitleStyle">@style/WindowTitle</item>
</style>
<!-- 自定义标题栏背景图 -->
<style name="MyTitleBackground" parent="android:TextAppearance.WindowTitle">
<item name="android:background">@drawable/bg_topbar</item>
</style>
<style name="WindowTitle" parent="android:TextAppearance.WindowTitle">
<item name="android:singleLine">true</item>
</style>
这里的parent是继承于android:Theme,所以在下面的样式里,只能是window开头的样式才起作用,所有样式请参考\sdk\docs\reference\android\R.attr.html,
也可以设置windowTitleBackgroundStyle 为@style/MyTitleBackground,这样就可以在MyTitleBackground里,设置背景图。
⑻ 请教高手们一个android的问题,谁有办法让Slidingdrawer从上往下拉吗不要用Panel,只用Slidingdrawer。
参考答案 人生不得行胸怀,虽寿百岁犹为无也
⑼ android自适应lcd不同分辨率驱动,现在有2种分辨率
这个问题,问的比较底层,如果你做过linux 驱动的开发,你就知道了。一般不同的lcd 都有一个panel id ,以区别别的panel 。
当我们的手机有多个panel 的时候,我们在kernel 加载的时候,lcd ,的驱动会去读panel id ,根据读取到的panel id 从而加载不同的lcd 驱动去init lcd 。
这个问题,涉及到linux 驱动,不知道讲解的你明白?
⑽ java中的panel和window有什么不同
可以这样理解吧:就是pane是java中的一个控件,是不具备包含其他控件的功能的;而panel虽然也是一个控件,但是它还有一个身份就是布局,它可以管理其他的控件。如果做过android开发的话,理解起来可能要容易一些。