Articles of xml

Android自定义键盘布局在侧面留下白色边缘

我正在研究Android的自定义键盘,我遇到了一个问题,键盘似乎在右边留下一个白线/空格,而不是填充父视图…(不要介意图标,它现在只是占位符图形) 下面你可以看到我的布局…… 据我所知,这是1%p的问题…但是我有点不确定如何填充它而不会弄乱我的路线……例如将第一行的间隙改为2会修复它,但弄乱了对齐方式。 根据要求为您添加了额外的代码…… 我的类扩展InputMethodService : private KeyboardView kv; private Keyboard keyboard; @Override public View onCreateInputView() { kv = (KeyboardView)getLayoutInflater().inflate(R.layout.keyboard, null); keyboard = new Keyboard(this, R.xml.custom_keyboard); kv.setPreviewEnabled(false); kv.setKeyboard(keyboard); kv.setOnKeyboardActionListener(this); return kv; } @Override public void onPress(int primaryCode) { } @Override public void onRelease(int primaryCode) { } @Override public void onKey(int primaryCode, int[] keyCodes) { InputConnection […]

Android ADT:没有fragment_main.xml,只有activity_main.xml

我正在尝试学习如何编写Android应用程序,所以我下载了谷歌提供的ADT软件包,我尝试按照允许我创建一个简单应用程序的教程。 但是,在这些过程中,有几条指令告诉我打开fragment_main.xml文件,但我的layout / res /目录没有这个文件,只有activity_main.xml文件。 此外,在创建新的Android活动时,从来没有选择命名我的片段布局,表明eclipse由于某种原因不会创建它。 我一开始并不认为这会是一个问题(我只是编辑了activity_main),直到我意识到教程要求我们使用片段类或xml文件中的一些信息。 有谁知道为什么我的Eclipse IDE没有创建fragment_main.xml? 如有必要,我会尝试提供更多细节。

android:为xml元素分配一个常量值

我正在编写一个Android应用程序。 我坚持使用xml-layout。 是否可以使用类中定义的variables(常量)为xml-tag赋值? 我有一个名为Constants.java的类用于我的所有程序常量。 我这样做是为了更好的可维护性。 现在我想使用其中一个常量,例如下面定义的VAL作为ui-widged的值。 public class Constants { public static final int VAL = 10; … } 在我的情况下,小部件是一个进度条(水平样式),我想定义“android:max”值。 通常可以写: android:max=”10″ android:max=”@Integer/val 但我想使用我的Constants类中定义的值,如: android:max=”Constants.VAL” 有解决方案吗? 谢谢

如何在XML文件中设置所选/未选定按钮的背景

我有自定义按钮应该具有不同的背景,具体取决于它们是否被选中。 我想知道是否有办法在XML文件中声明这一点。 我有一个Celsius按钮和一个华氏按钮。 我希望它能够工作,如果选择了一个,它会保持“按下”而无法点击,而另一个按钮可以被按下。 摄氏度按钮默认为选中状态。 我尝试在我的代码中像这样处理它,但它似乎很乱: tempText = (TextView) findViewById( R.id.temperatureId ); celsiusButton = (Button) findViewById( R.id.celsiusButton ); celsiusButton.setBackgroundDrawable( getResources().getDrawable( R.drawable.button_pressed_shape ) ); celsiusButton.setClickable( false ); celsiusButton.setOnClickListener( new OnClickListener() { public void onClick(View v) { if( hasRead ) { celsiusButton.setBackgroundDrawable( getResources().getDrawable( R.drawable.button_pressed_shape ) ); celsiusButton.setClickable( false ); fahrenheitButton.setBackgroundDrawable( getResources().getDrawable( R.drawable.button_unpressed_shape ) ); fahrenheitButton.setClickable( true ); […]

Android – 无法从Custom Dialog中的EditText获取值

我在自定义对话框中从EditText对象获取输入时未成功。 public class SetCityDialog extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LayoutInflater factory = LayoutInflater.from(MainActivity.this); final View view = factory.inflate(R.layout.city_dialog, null); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); // Get the layout inflater LayoutInflater inflater = getActivity().getLayoutInflater(); builder.setView(inflater.inflate(R.layout.city_dialog, null)) // Add action buttons .setPositiveButton(“OK”, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) […]

在Android中构建/使用运行时生成的布局XML

我目前正在开发一个项目,该项目要求我使用XML文档在Android设备上呈现表单。 必须在运行时获取并显示表单。 我想知道是否有办法标记表单XML,使用XSLT将其转换为Android布局XML,然后让设备呈现它。

Android,XML格式的Checkbox监听器?

做这样的事情是可能的 XML: Java的: public void launchContactAdder(View v) { Intent i = new Intent(this, ContactAdder.class); startActivity(i); } 但有一个要求是,该方法必须是公开的,无效的,最重要的是将View作为参数。 现在我想用Checkbox按钮做同样的事情。 Checkbox有android:onclick属性,但是在Android教程(http://developer.android.com/resources/samples/ContactManager/index.html)中我可以看到这段代码 showInvisibleControl.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Log.d(TAG, “mShowInvisibleControl changed: ” + isChecked); showInvisible = isChecked; populateContactList(); } }); 所以有一个onCheckedChanged(CompoundButton buttonView,boolean isChecked)方法。 有没有办法通过XML来做到这一点? 没有android:onCheckedChange属性,只有android:onClick属性,但正如我上面所写,该属性的名称必须有相应的方法名称,它将View作为参数,但从上面的代码我明白我必须有一个方法CompoundButton和boolean参数。 以“XML方式”以任何方式做到这一点?

如何将两个EditText放在同一行中

我想问你,我怎么能把两个EditText放在同一行?

工具栏与状态栏重叠

我的状态栏出了问题,工具栏重叠了。 我想要的function是,当用户向下滚动ListView时,工具栏会消失在状态栏后面,这样只有选项卡可见,就像在WhatsApp和YouTube应用程序中一样。 为了达到这个效果或获得这个function,我使用了这一行: app:layout_scrollFlags=”scroll|enterAlways” 进入我的android.support.v7.widget.Toolbar ,但我之前说过,状态栏会被工具栏重叠。 感谢任何帮助! 更新: V21 \ styles.xml > false true true @android:color/transparent styles.xml @color/colorPrimary @color/colorPrimaryDark @color/colorAccent false true

有人可以解释膨胀方法吗? 更深入地了解Android视图

我想更深入地了解Android是如何工作的,我需要有人来解释视图实际上是如何工作的“幕后”。 在正常的过程中,我们将使用方法“setContentView(R.layout.ourlayoutfile)”在我们的扩展Activity的onCreate方法中从XML中扩展(这是正确的单词?)视图。 然后我们会从该XML中findViews。 快速示例:如果我们需要find一个按钮,我们首先需要调用“setContentVIew()”,然后在我们的按钮上调用“findViewById”。 然后我们可以分别使用这个按钮/视图。 我最近开始使用LayoutInflater,因为我find了“setContentView”方法无法自拔的地方,令我惊讶的是我发现我的Android知识非常好。 我甚至无法管理LayoutInflater。 我很尴尬。 一天之后,我设法用LayoutInflater来扩充视图。 实际上它并不是很难,我从一开始就非常接近但是有一个参数我不知道要传递什么。请看一下这段代码:(这都发生在onCreate方法的Activity上) View v = getLayoutInflater().inflate(R.layout.activity_main, (ViewGroup) getWindow().getDecorView()); final Button b = (Button) v.findViewById(R.id.button1); final TextView tv = (TextView) v.findViewById(R.id.textView1); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tv.setText(“Just random text”); } }); } 这段代码工作正常,但我遇到的问题实际上是这行代码: getLayoutInflater().inflate(R.layout.activity_main, null); 我总是传递“null”参数,当然它没有用。 甚至在文档中它说这个参数是可选的! (为什么?,如果需要的话)? 我做了简单的布局。 请查看它以及它与HiearchyViewer的外观: 上图中的第二个参数是什么,为什么我们需要它? 可能是连接我的布局(R.layout.activity_main),使用Android提供的View(从左到右的第一个视图 – 父视图)。 […]