2016-11-14 2 views
0

Я хочу сделать кнопку в другой кнопке, например: у нас есть 2 кнопки: 1.imageButton (100 * 50) dp, 2.button (100 * 100) dp так что мой вопрос в том, как я могу поместить свой imageButton внутри моей кнопки?Как добавить ImageButton внутри кнопки в android

+1

Можете уточнить? Это не имеет никакого смысла, вы хотите добавить изображение к кнопке? – Pztar

+0

Нет, я могу добавить изображение внутри кнопки с помощью android: drawableLeft или .... моя проблема вроде этого. Я хочу иметь кнопку с изображением, когда я нажимаю кнопку, чтобы что-то сделать, и когда я нажимаю изображение в кнопке, делаю другие вещи. – b4hr4m

+1

. Вы добавляете виды внутри макетов, а не виды изнутри. Вы можете просто добавить свое изображение внутри макета и иметь разные события кликов для макета и кнопки изображения. –

ответ

1

Вы можете использовать RelativeLayout и просто положить второй ImageButton за первые ImageButton.

Update

Или Вы можете использовать magrin в LinearLayour, например:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="horizontal" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

    <Button 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_alignParentTop="true" /> 

    <ImageButton 
     android:layout_marginLeft="-100dp" 
     android:layout_width="100dp" 
     android:layout_height="50dp" 
     android:layout_alignParentTop="true" /> 
</LinearLayout> 
+0

в линейной компоновке невозможно? – b4hr4m

+0

В принципе, если вы хотите, чтобы этот тип функциональности использовал относительный макет и после добавления относительного макета, откройте свой дизайн и перетащите его внутри кнопки –

+0

@ b4hr4m да, это возможно в 'LinearLayout'. Для этого вы должны использовать «поля» (см. Обновленный ответ). –

0
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <Button 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_alignParentTop="true" /> 

    <ImageButton 
     android:layout_width="100dp" 
     android:layout_height="50dp" 
     android:layout_alignParentTop="true" /> 
</RelativeLayout> 

это должно решить проблему.

0

Надеюсь, это может вам помочь .. Для этого вам следует использовать Frame Layout. В файле XML, сделать как этот

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <Button 
     android:id="@+id/button" 
     android:layout_width="100dp" 
     android:layout_height="100dp" /> 

    <ImageButton 
     android:id="@+id/imagebutton" 
     android:layout_width="100dp" 
     android:layout_height="50dp" 
     android:src="@drawable/buttonsample"/> 

</FrameLayout> 

И теперь в Java файл, объявить экземпляр Button и ImageButton

ImageButton IMAGEBUTTON;

Кнопка;

В OnCreate() функции класса Java, сделать ....

защищен недействительным OnCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState);

imagebutton = (ImageButton)findViewById(R.id.imagebutton); 
button = (Button)findViewById(R.id.button); 

button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     //do your stuff 
    } 
}); 

imagebutton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     //do your stuff 
    } 
}); 

}

0

Set г-возвышенность свойство, если вы хотите, чтобы кнопки, чтобы перекрывать и как должно быть Запись видна. android: elevation = "2dp"

Смежные вопросы