Tag: android layout

更改ProgressDialog的背景

我正在尝试更改ProgressDialog的背景。 我search了networking,发现了各种build议(如如何从对话框中删除边框? ),但我无法取代ProgressDialog的实际背景。 相反,我在对话框后面看到另一个背景(黄色): 我的风格: <style name="StyledDialog" parent="@android:style/Theme.Dialog"> <item name="android:windowBackground">@drawable/panel_background</item> </style> 启动ProgressDialog的代码: ProgressDialog dialog = new ProgressDialog(this, R.style.StyledDialog); dialog.setTitle("The title"); dialog.setMessage("The message."); dialog.show(); 可绘制的是包含在SDK中的相同的9补丁,我只是改变了颜色。 我将不胜感激一些提示,我做错了什么。

Android布局文件夹:布局,布局 – 端口,布局 – 陆地

我不确定是否已经很好地理解了几个Android /res/layout文件夹所扮演的angular色。 layout :总体布局 layout-port :必须为纵向定位更改的小部件的布局 layout-land :小部件的布局,必须改变横向 例如,在Home示例应用程序中,在layout-port和layout-land文件夹下,只有一个home.xml文件。 我理解对吗?

我如何dynamic创build菜单项?

我正在构build一个Android应用程序,我试图build立一个用户pipe理系统,用户可以login,注销等。我想要显示一个login菜单项,如果用户注销loginbutton,如果用户login我怎样才能dynamic地做到这一点? 这是现在的布局文件: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/add" android:title="Add" android:icon="@drawable/ic_menu_add"/> <item android:id="@+id/list" android:title="List" android:icon="@drawable/ic_menu_list"/> <item android:id="@+id/refresh" android:title="Refresh" android:icon="@drawable/ic_menu_refresh"/> <item android:id="@+id/login" android:title="Login" android:icon="@drawable/ic_menu_login"/> </menu> 这是我的Java现在: @Override public boolean onCreateOptionsMenu(Menu menu) { new MenuInflater(this).inflate(R.menu.activity_main, menu); return(super.onCreateOptionsMenu(menu)); } @Override public boolean onOptionsItemSelected(MenuItem item) { System.out.println(item.getItemId()==R.id.add); if (item.getItemId()==R.id.add) { //Cannot add spot unless we have obtained the users […]

android:windowSoftInputMode =“adjustResize”没有任何区别?

我有一个使用这个布局的人造对话框: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/containerPageConatiner"> <FrameLayout android:id="@+id/dialogHolder" android:layout_height="wrap_content" android:layout_width="wrap_content" android:padding="15dp" android:layout_gravity="center" android:background="@drawable/panel_picture_frame_bg_focus_blue"/> </FrameLayout> 我根据正在打开的对话框在<FrameLayout>放置一个片段 – 控制Dialog的活动如下所示: <activity android:label="@string/app_name" android:name=".activity.DialogActivity" android:theme="@style/CustomTheme.Screen.Transparent" android:windowSoftInputMode="adjustResize"> 不幸的是,当你点击对话框中的编辑文本时,不会发生大小调整。 windowSoftInputMode从字面上看没有区别,因为function与平移模式相同。 文档说:“这当然只适用于具有可调整空间的可调整区域的应用程序”,但并没有告诉你“可resize的区域”是什么意思,使我觉得在某种程度上,有一个可调整的区域? 如果有人知道什么可以帮助我吗? 编辑 围绕这样的对话不会改变任何事情: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/containerPageConatiner" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <View android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> <FrameLayout android:id="@+id/dialogHolder" android:layout_height="wrap_content" android:layout_width="wrap_content" android:padding="15dp" android:layout_gravity="center" android:background="@drawable/panel_picture_frame_bg_focus_blue"/> <View android:layout_width="0dp" […]

旋转视图层次90度

我正在研究FrameLayout的子类,它应该旋转所有的孩子90度。 我这样做是为了克服Android 2.1及以下版本中的风景相机限制,通过将活动放在横向上,但将相机覆盖放入此框架布局覆盖图中,使其看起来像是人像( 这是如何Layar是这样做的 )为了完成这个,我正在调整Jeff Sharkey的代码来旋转视图。 我的问题是,我可以旋转Framelayout,但我不能调整它来匹配新的尺寸。 所以在我的g1上,而不是320×480的横向480×320照相机视图的纵向视图,我得到一个320×320框在中间显示我的肖像视图与两边砍掉。 这是我的代码到目前为止: public class RotateLayout extends FrameLayout { private Matrix mForward = new Matrix(); private Matrix mReverse = new Matrix(); private float[] mTemp = new float[2]; public RotateLayout(Context context) { super(context); } public RotateLayout(Context context, AttributeSet attrs) { super(context, attrs); } /* (non-Javadoc) * @see android.widget.FrameLayout#onMeasure(int, int) */ […]

如何编写样式到Android的EditText错误文本?

我正在尝试为我的android应用程序编写新的自定义样式。 我需要给在EditText设置setError之后出现的errorText赋予样式。 我如何定制它的风格? 例如:我想在style.xml中设置它的background白色和textColor :Blue等等

如何实现一个不伸展的android:background?

我发现这个伟大的线程描述如何“吃蛋糕,也有它”,即使用图像的Button而不是ImageButton (它不允许SetText() ,resize等)。 这是通过使用View属性来实现的: android:background="@drawable/bgimage" 唯一的问题是,它拉伸图像,以适应button的大小。 短的硬编码固定的button大小(以像素为单位),有没有办法告诉Android 不要拉伸的背景图像,不是裁剪或填充它?

GridView行重叠:如何使行高适合最高的项目?

像这个以前的人一样 ,我在GridView项目之间有不必要的重叠: 请注意文本,除了最右边的列以外的每一列。 在那里我不同于以前的问题是,我不想要一个恒定的行高度 。 我希望行高不同,以适应每行最高的内容 ,以有效利用屏幕空间。 查看GridView的源代码 (不是授权拷贝,但是kernel.org仍然是down),我们可以在fillDown()和makeRow()中看到最后一个View是“参考视图”:行的高度设置为该视图的高度,而不是最高的那个。 这解释了为什么最右边的列是好的。 不幸的是,GridView没有很好的设置,我通过inheritance来解决这个问题。 所有相关的领域和方法都是私有的。 那么,在我采取“克隆和拥有”这个老套的路线之前, 我有没有在这里错过的一个骗局? 我可以使用一个TableLayout,但是这将需要我自己实现numColumns="auto_fit" (因为我想例如只是在电话屏幕上的一个长列),它也不会是一个AdapterView,这感觉就像它应该成为。 编辑:其实克隆和自己在这里是不实际的。 GridView依赖于父类和兄弟类的不可访问部分,并且会导致至less导入6000行代码(AbsListView,AdapterView等)

使用XML绘制的垂直线

我试图找出如何定义一个垂直线(1dp厚)作为一个可绘制的。 做一个水平的,这是非常简单的: <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke android:width="1dp" android:color="#0000FF"/> <size android:height="50dp" /> </shape> 问题是,如何使这条线垂直? 是的,有一些解决方法,比如绘制一个1px厚的矩形形状,但是如果它包含多个<item>元素,则会使可绘制的XML变得复杂。 任何人有这个机会吗? UPDATE 案件尚未解决。 但是,对于Android文档讨论中的任何人,您可能会发现这很有用: 缺lessAndroid XML手册 UPDATE 除了我标记为正确的那个之外,我没有发现别的办法。 它虽然感觉有点“沉重”,但是如果你碰巧知道答案不要忘了分享;)

Android:如何追查InflateException的起源?

在开始我的应用程序时,我在Logcat中得到以下警告: 04-09 10:28:17.830: WARN/WindowManager(52): Exception when adding starting window 04-09 10:28:17.830: WARN/WindowManager(52): android.view.InflateException: Binary XML file line #24: Error inflating class <unknown> 04-09 10:28:17.830: WARN/WindowManager(52): at android.view.LayoutInflater.createView(LayoutInflater.java:513) 04-09 10:28:17.830: WARN/WindowManager(52): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 04-09 10:28:17.830: WARN/WindowManager(52): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563) 04-09 10:28:17.830: WARN/WindowManager(52): at android.view.LayoutInflater.inflate(LayoutInflater.java:385) 04-09 10:28:17.830: WARN/WindowManager(52): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 04-09 10:28:17.830: WARN/WindowManager(52): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 04-09 10:28:17.830: WARN/WindowManager(52): […]