Articles of android layout

可以在服务中膨胀XML布局吗? (机器人)

我想在服务中扩展xml布局。 你怎么做到这一点? 我试图使用inflater和Window Manager,但我认为它不起作用。 关于这个的任何策略? 谢谢。 这是我要显示的xml的服务代码。 package com.toksis.pvscreen; import android.app.Service; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.PixelFormat; import android.os.IBinder; import android.preference.PreferenceManager; import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.Button; import android.widget.FrameLayout; import android.widget.LinearLayout; public class DragDropButtonMainService extends Service { private LinearLayout main; private LinearLayout firstLayer; private LinearLayout […]

处理Android的纹理大小限制

我要求在Android应用上显示一些大图像。 现在我正在使用带有源位图的ImageView。 据我所知,openGL对图像尺寸的大小有一定的设备无关限制,以便处理它。 除了将图像分割成多个ImageView元素之外,有没有办法显示这些图像(固定宽度,没有裁剪),不管这个限制如何? 谢谢。 更新2013年4月1日到目前为止仍然没有运气所有建议都是为了降低图像质量。 有人建议可以通过使用CPU来执行处理而不是使用GPU来绕过此限制(尽管可能需要更多时间来处理)。 我不明白,是否真的无法在不降低图像质量的情况下显示固定宽度的长图像? 我敢打赌,如果有人至少指出我正确的方向,我会喜欢它。 感谢大家。

ImageView一维适合自由空间,第二维评估保持纵横比

对于Android 我需要类似 。 我的意思是调整所有可用空间的宽度(缩小或放大图像的宽度)并自动更改高度以保持纵横比。 Something like 使用android:scaleType=”fitCenter”做我想要的图像,但只有图像,不会改变View本身的高度。 当我将booth尺寸设置为match_parent时,我会得到我想要的东西,但前提是我在屏幕上只有一个图像。 但我需要一些图像下的文字。 这是创建ImageView的孩子的唯一方法吗? 例如android:adjustViewBounds=”true”对我没有任何作用。

在Android EditText中,如何从软键盘中删除建议栏?

我有一个Android应用程序,在我的一个布局中有一个EditText字段。 我为我的EditText设置了android:inputType=”textNoSuggestions”属性。 文本字段不再显示建议。 但是,建议栏仍然位于软键盘的顶部,现在似乎只是为了显示语音输入麦克风图标。 我也不想/关心这个字段的语音输入,并且想要从这个软键盘中删除建议栏。 有没有办法做到这一点,可能还有另一个inputType标志?

使用android中的图像按钮设计如下图像的布局

嗨, 我想设计如上图所示的按钮。 八个按钮以循环方式。 我很困惑如何设计一个圆形到板球的标志。 我已经尝试使用相对布局和线性布局,但不能这样做。 请帮助我实现这个视图。

Android自定义通知未显示代码更改

这里有一些奇怪的行为。 我有一堆代码,图片,然后是一些奇怪的行为的描述, 然后是我的问题。 档 我有一个文件random_start_bonus_cards_notification.xml ,它看起来像: 和一个文件random_start_bonus_cards.xml 这是一个故意空白的布局,因为我们会陷入奇怪的境地。 事实certificate这个文件必须在这里,但它包含的内容并不重要。 Annnnd我的styles.xml : ?android:attr/textColorPrimaryInverse bold ?android:attr/textColorPrimaryInverse 还有一些Android代码: private void showStartBonusCardsDialog(DrawnCards drawnCards) { LayoutInflater factory = LayoutInflater.from(CalculatorActivity.this); final View dialogContent = factory.inflate(R.layout.random_start_bonus_cards_notification, null); ((ImageView) dialogContent.findViewById(R.id.firstCard)).setImageResource(getDrawableIdForStartCard(drawnCards.firstCard())); ((ImageView) dialogContent.findViewById(R.id.secondCard)).setImageResource(getDrawableIdForStartCard(drawnCards.secondCard())); if(drawnCards.hasThirdCard()) { dialogContent.findViewById(R.id.ifNotCoal).setVisibility(View.VISIBLE); ((ImageView) dialogContent.findViewById(R.id.thirdCard)).setImageResource(getDrawableIdForStartCard(drawnCards.thirdCard())); } else { dialogContent.findViewById(R.id.ifNotCoal).setVisibility(View.GONE); } AlertDialog drawnCardsDialog = new AlertDialog.Builder(CalculatorActivity.this).create(); drawnCardsDialog.setView(dialogContent); drawnCardsDialog.setButton(AlertDialog.BUTTON_NEUTRAL, “OK”, new DialogInterface.OnClickListener() { […]

使用Android应用程序的自定义适配器动态添加项目到列表视图

所以,现在我有一个自定义适配器类,它接收一个Locations数组并将它们添加到ListView。 这很好,花花公子,但我希望在初始化后将Locations添加到此listview。 例如,某人可以“添加位置”,并将其添加到此ListView。 这是我的主要活动: package com.example.listviewtest; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.ListView; public class MainActivity extends Activity { private ListView listView1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Location location_data[] = new Location[] { new Location(R.drawable.ic_launcher, “Location 1”, “Fruit!”, “2 miles”, “8-4 mon-fri\nclosed sun”), new Location(R.drawable.ic_launcher, “Location 2”, “Veggies!”, “2 miles”, “8-5”), […]

自定义键盘:处理inputType更改

我遇到了一个我无法弄清楚的问题。 我根据这个示例编写了一个简单的自定义IME键盘。 它基本上有两个自定义键盘,一个用于字母,一个用于数字。 他们使用不同的布局。 但是,当我添加两个EditText控件时,一个用于文本,一个用于数字,键盘不刷新到它所属的types。 我的意思是,如果我首先选择带有inputType=”text”的EditText ,则会出现QWERTY键盘布局。 但是当我选择inputType=”number”的第二个EditText ,QWERTY键盘再次出现。 但是,它应该为连接到代码中的数字加载不同的布局。 换句话说,这是测试活动布局: 现在,如果我选择“文本”字段,QWERTY键盘将显示如下: 但是,如果我选择“数字”字段,QWERTY键盘仍会显示错误。 预期的行为将是这个键盘出现。 这是CustomIME的代码,我尝试在视图上使用postInvalidate() ,在onInitializeInterface()期间预加载所有布局但没有任何效果。 它永远不会正确切换到数字的布局 public class CustomIME extends InputMethodService implements KeyboardView.OnKeyboardActionListener { public static final String CUSTOM_IME = “CUSTOM_IME”; private KeyboardView mKeyboardView; private Keyboard mKeyboardCurrent; private KeyboardType mKeyboardTypeCurrent = KeyboardType.QWERTY_LETTERS; private boolean mCAPs = false; enum KeyboardType { QWERTY_LETTERS, NUMBERS } @Override […]

如何更改操作栏上菜单项的位置

我正在开发一个应用程序,我必须在操作栏上添加自定义布局。 添加自定义布局已完成,但是当我在操作栏上添加菜单项时,我的自定义布局会将其从操作栏右侧的位置更改为操作栏的中心。 下面是我到目前为止所获得的图像。 我在动作栏上想要这样的东西。 自定义布局(黄色按钮)位于操作栏的最右侧,菜单项位于中间。 添加我的代码以使用本机android操作栏实现此自定义布局: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); actionBar = getActionBar(); actionBar.setDisplayShowTitleEnabled(false); actionBar.setDisplayUseLogoEnabled(false); actionBar.setDisplayHomeAsUpEnabled(false); actionBar.setDisplayShowCustomEnabled(true); cView = getLayoutInflater().inflate(R.layout.header, null); actionBar.setCustomView(cView); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.websearch_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: […]

试图在Android中使用holo主题不起作用

我一直试图在Android中设置一个全息主题,但我无法让它识别它。 有任何想法吗? 发表是我的清单: 它给了我@android:style/Theme.Holo下的红线@android:style/Theme.Holo即使我将minSdkVersion更改为11.任何想法? 更新: 我将更改为我还在同样的错误。 更新2: 这最终导致我的目标api在清单中正确指定,但在项目属性中没有。 很奇怪,但现在好了。