如何在Android中的按钮内放置可点击图标

时间:2019-03-22 14:16:26

标签: android android-imagebutton

我想在全角按钮的右侧放置一个设置图标,单击该图标会打开一个警报对话框,并允许用户将声音设置为铃声或通知音。

我想在按钮的右侧放置一些可点击的小图标; enter image description here

非常感谢您的帮助

3 个答案:

答案 0 :(得分:0)

尝试使用此布局并在ImageView上设置onClickListener 您还可以在TextView上设置另一个clickListener来执行其他操作。 总共看起来就像一个按钮。

<RelativeLayout android:layout_width="wrap_content"
                android:layout_height="match_parent">

    <TextView android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_toLeftOf="@id/zxc"
              android:text="Example"/>

    <ImageView android:id="@+id/zxc"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:background="@drawable/ic_comment"
               android:layout_alignParentRight="true"/>
</RelativeLayout>

答案 1 :(得分:0)

XML

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/holo_purple"
    >

    <Button
        android:id="@+id/share_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:drawableRight="@drawable/ic_payment"/>

    <TextView
        android:id="@+id/share_txt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="This is  a samplt text"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:layout_toLeftOf="@id/share_btn"/>

</RelativeLayout>

活动

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private Button mShareButton;
private TextView mTextView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    mShareButton = (Button)findViewById(R.id.share_btn);
    mTextView = (TextView)findViewById(R.id.share_txt);
    mShareButton.setOnClickListener(this);
    mTextView.setOnClickListener(this);
}

@Override
public void onClick(View view) {

    switch (view.getId())
    {
        case R.id.share_btn:
            Log.i("Test"," Button clicked");
            break;

        case R.id.share_txt:
            Log.i("Test"," Text clicked");
            break;
    }
  }
}

答案 2 :(得分:0)

最后,我通过使用方向设置为水平且权重总和为10的线性布局使其工作,在线性布局中,我创建了一个宽度为parent且layout_weight为10的Button,然后为该对象创建了一个ImageButton。小铃铛图标,宽度设置为包装内容,layout_weight设置为0。我必须将按钮和ImageButton的高度和背景都设置为50sp和#6465a5。 谢谢大家的帮助。在这里完成初学者。 :D

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:weightSum="10">


        <Button
            android:id="@+id/button1"
            android:layout_width="match_parent"
            android:layout_height="50sp"
            android:layout_weight="10"
            android:background="#6465A5"
            android:fontFamily="@font/shadowsintolight"
            android:gravity="fill"
            android:onClick="translate"
            android:paddingLeft="8dp"
            android:paddingRight="8dp"
            android:tag="themostamazingthings"
            android:text="THE MOST AMAZING THINGS"
            android:textColor="@android:color/white"
            android:textSize="@dimen/text_size"/>

        <ImageButton
            android:id="@+id/bell1"
            android:layout_weight="0"
            android:layout_width="wrap_content"
            android:layout_height="50sp"
            android:paddingRight="10dp"
            android:src="@drawable/bell"
            android:background="#6465A5"
            android:scaleType="fitCenter"
            android:onClick="bellClick"
            android:tag="themostamazingthings"/>

    </LinearLayout>