Articles of android layout

自定义键盘:处理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在清单中正确指定,但在项目属性中没有。 很奇怪,但现在好了。

ImageView.ScaleType =“MATRIX”是什么意思:Android

我知道matrix ,它的结构和工作有关图像视图的比例types。 但, 我找不到ImageView.ScaleType=”MATRIX”的确切含义。 通过声明这一点,绘制图像视图时会发生什么。 我什么时候可以使用ImageView.ScaleType=”MATRIX” ? 它与FIT_END和FIT_START区别如何 我搜索了它并且还提到了官方链接,但未能find确切的答案。

片段和活动之间的核心区别是什么? 哪些代码可以用片段写?

我有三个选项卡,每个选项卡包含三个片段和一个主要活动,我想创建套接字以通过wifi网络发送消息,那么我应该在哪里编写代码呢? 在那个特定的片段类或主要活动?

如何更改底部导航按钮上的活动点击?

我想在我现有的Android应用程序中使用底部导航栏,但问题是所有屏幕都是活动,是否可以加载活动而不隐藏底部导航栏。 示例: activity_main.xml 这是我的基础活动, MainActivity.java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); BottomBar bottomBar; bottomBar = (BottomBar) findViewById(R.id.bottomBar); bottomBar.setOnTabSelectListener(new OnTabSelectListener() { @Override public void onTabSelected(@IdRes int tabId) { if (tabId == R.id.matching) { Log.i(“matching”,”matching inside “+tabId); Intent in=new Intent(getBaseContext(),Main2Activity.class); startActivity(in); }else if (tabId == R.id.watchlist) { Log.i(“matching”,”watchlist inside […]

如何在ADT的图形布局编辑器中调试自定义视图

如何使用ADT Eclipse插件在布局XML的图形预览中调试自定义视图? 我编写了一个自定义视图,将其放在布局XML中,我可以在ADT图形布局编辑器中预览它。 我可以查看自定义视图,例如Google员工在Google I / O 2011中的表现:Android开发工具 。 但是,我的自定义视图在预览中表现不View.isInEditMode()模拟器/设备没问题,但我没有使用View.isInEditMode() )。 我认为variables的值有误,但我无法确认。 我试过了: android.util.Log.d() LogCat或Console没有输出 System.out.println() LogCat或Console没有输出 Toast.makeText().show() android.widget.Toast.show NullPointerException 在我的自定义视图中设置断点 在Eclipse中不会中断 throw new IllegalStateException(debugMessage) ( throw new IllegalStateException(debugMessage) ) debugMessage不会出现在Error Log 通过((Activity)getContext()).setTitle(debugMessage)设置活动标题((Activity)getContext()).setTitle(debugMessage) 没有效果 设置窗口标题((Activity)getContext()).getWindow().setTitle(debugMessage) NullPointerException ( window为null ) 动态添加TextView final TextView textView = new TextView(getContext()); textView.setText(debugMessage); this.addView(textView); 显示debugMessage但我的布局已毁坏 仅在自定义视图是ViewGroup时才有效

如何找出目前关注的视图?

我的应用程序使用键盘控制,当我四处走动时,我注意到偶尔你会得到我称之为“神秘视图”的东西 – 我之所以说是因为似乎没有看到任何可见的东西,但是没有看到任何可见的焦点 有什么方法可以找出我在任何特定时间关注的内容吗? 例如。 触发视图选择等的监听器 谢谢 **编辑 – ntc的一些代码** LinearLayout col1 = (LinearLayout)findViewById(R.id.col1); Button btn = new Button(this); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { LinearLayout col1 = (LinearLayout)findViewById(R.id.col1); if(col1.getFocusedChild() != null) { Log.d(TAG, col1.getFocusedChild().toString()); } } }); col1.addChild(btn);

如何使用inputType =“numberDecimal”在EditText中添加提示?

我有一个如下的EditText : 但是没有显示提示。 是否可以显示带有inputType=”numberDecimal”的EditText提示?

Android将图像缩放到屏幕密度

我有一个应用程序,嵌入式可绘制48×48像素,71,12像素/英寸我通过流加载相同的图像到网络服务器,然后加载该流 return new BitmapDrawable(getActivity().getResources(), new ByteArrayInputStream(imageThumbnail)); 显示的结果是: 我怎样才能使BitmapDrawable与其他drawable一样扩展?