我正在使用Android应用程序,我必须在Toggle Button
上实现自定义Button
,如果用户点击Button
而不是切换按钮,则分别打开/关闭。
查看图片以供参考:
这是按钮代码:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/textview"
android:textColor="@color/colorAccent"
android:background="@color/textViewBackground"
android:drawablePadding="@dimen/drawable_padding"
>
</Button>
完整视图:
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
app:cardBackgroundColor="@color/cardview_dark_background"
android:layout_marginTop="@dimen/cardView_top_margin"
android:layout_marginBottom="@dimen/cardView_bottom_margin"
android:id="@+id/cardView9"
>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="@string/textview"
android:textColor="@color/colorAccent"
android:background="@color/textViewBackground"
android:layout_below="@+id/cardView8"
android:gravity="start|center"
android:paddingRight="@dimen/inner_margin"
android:paddingLeft="@dimen/inner_margin"
android:drawablePadding="@dimen/drawable_padding"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/textView4"
android:drawableStart="@drawable/icon"
android:drawableLeft="@drawable/icon">
</Button>
</android.support.v7.widget.CardView>
答案 0 :(得分:0)
试试这个:
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@drawable/toggle_selector"
android:checked="false"
android:text=""
android:textOff=""
android:textOn="" />
toggle_selector.xml
<?xml version="1.0"encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/toggle_on"
android:state_checked="true"/>
<item
android:drawable="@drawable/toggle_off"
android:state_checked="false"/>
</selector>
代码:
toggleButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
text.setText("Status: " + isChecked);
}
});
答案 1 :(得分:0)
使用Button drawable创建可点击的视图作为包含ImageView和TextView的背景。
<RelativeLayout
android:clickable="true"
android:background="@android:drawable/btn_default"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ToggleButton
android:id="@+id/toggBtn"
android:layout_below="@+id/text6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
/>
<TextView
android:id="@+id/text"
android:text="Sample text"
android:textAppearance="?android:attr/textAppearanceButton"
android:layout_toRightOf="@id/image"
android:gravity="left"
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
</RelativeLayout>
答案 2 :(得分:0)
您可以使用merge
布局来实现此目标
请参阅此gist
答案 3 :(得分:0)
我通过添加带重量的垂直布局解决了我的问题
app.controller('myCtrl', function($scope) {
$scope.openlogsEservModal = function(param1,param2,param3,param4)
{
var customer = angular.element('#4c609cf1bbb6c5080865df9cfc1fb649_mylogs_details_customer').val();
if (customer == '') {
// return false / Do nothing;
}
else
{
// write your logic here
}
}
});