Android 使用布局作为按钮
我曾试图在Android中制作一个包含多个组件的自定义按钮,以布局的形式直接说明按钮包含的内容,如下所示:Android 使用布局作为按钮,android,button,layout,Android,Button,Layout,我曾试图在Android中制作一个包含多个组件的自定义按钮,以布局的形式直接说明按钮包含的内容,如下所示: <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button" android:clickable
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button"
android:clickable="true"
android:focusable="true">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView4"
android:background="@drawable/button1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button2"
android:id="@+id/textView2" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:id="@+id/imageView5"
android:background="@drawable/button4"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sub-description"
android:id="@+id/textView3" />
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/button5" />
</LinearLayout>
</LinearLayout>
问题:如何在活动中使用此按钮,并按下所有类型的按钮并进行重点定制?
(到目前为止,我所做的只是处理这个UI文件XML)您必须将LinearLayout设置为clickable。您可以在XML中使用
android:clickable="true"
或者用代码
yourLinearLayout.setClickable(true);
yourLinearLayout.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
// DO STUFF!
}
}
);
干杯 您有两个XML或代码选项 XML:
请记住,在这两种情况下,都要像使用简单按钮一样使用onClick。更好的选择是将图像包含在文本视图中。一种被称为计算机绘图的技术。
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
>
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:id="@+id/imageView5"
android:background="@drawable/button4"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sub-description"
android:id="@+id/textView3" />
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/button5" />
</LinearLayout>
LinearLayout.setClickable(true);