我想在我的Android应用程序中设置一个由文本(左对齐),图像和另一个文本(右对齐)组成的按钮。带文本和图像的Android按钮
文本1,文本2和图像必须从代码可定制的。
我在Android开发一个小白,我只能猜测,文本1和文本应该被定义为TextView的和图像应该被定义为ImageView的。但不可能将它们设置为按钮,因为按钮不是ViewGroup。
如何在XML布局文件中指定?
我想在我的Android应用程序中设置一个由文本(左对齐),图像和另一个文本(右对齐)组成的按钮。带文本和图像的Android按钮
文本1,文本2和图像必须从代码可定制的。
我在Android开发一个小白,我只能猜测,文本1和文本应该被定义为TextView的和图像应该被定义为ImageView的。但不可能将它们设置为按钮,因为按钮不是ViewGroup。
如何在XML布局文件中指定?
是的,它很容易。将所有这些组件放在一个相对布局中。然后,按照这样的:
RelativeLayout rl= (RelativeLayout) findViewById(R.layout.relative_layout_id);
rl.setOnClickListener(this);
rl.setOnTouchListener(this);
rl.setOnDragListener(this);
在TouchListener
方法,你会得到一个视图作为参数。所以,你使用
switch(viewObj.getId()
{
case R.layout.relative_layout_id :
//write your logic here
break;
]
在OnClick方法得到视图的ID,写你的逻辑,所以在任何你执行上相对布局的onclick()
方法将执行单击。
如果你觉得这个有用,请不要忘记接受答案/对我投票。 – RajeshVijayakumar
我希望我的按钮(或布局)对用户的触摸进行视觉反应,而不仅仅是触摸。因此,我需要setOnTouchListener和setOnDragListener或其他。换句话说,我将不得不编写大量重复现有Button功能的代码。我不确定这很酷。 – Nick
是否必须是按钮?为什么不把它定义为'layout'并将onClick监听器设置为完整的布局呢? –
在这种情况下,我不会支持触摸时的自动状态更改(因为onClick只能在触摸时发生) - 否则我将不得不编写一个复制Button功能的代码。 – Nick
但是,正如我所提到的,我是Android noob,并且我听说Android SDK并不是最棒的一个...所以如果它不能成为Button,我会很乐意接受您的建议。 – Nick