2017-06-28 14 views
-2

2行に0〜9個のボタンが必要です。各ボタンは右下に小さなボタンが重ねられています。ボタンをクリックすると、オーバーレイボタンにcountが表示されます。事前に私の悪い英語の感謝のためにボタンを別のボタンの上にオーバーレイするには

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal"> 
    <LinearLayout 
    android:id="@+id/expandable2" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="#000000" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 
     RelativeLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 

      <Button 
       android:id="@+id/btn0" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="0" /> 

      <Button 
       android:layout_width="25dp" 
       android:layout_height="25dp" 
       android:layout_alignBottom="@id/btn0" 
       android:layout_alignRight="@id/btn0" 
       android:background="#FFFFFF" 
       android:text="0" /> 
     </RelativeLayout> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="1" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="2" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="3" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="4" /> 
    </LinearLayout> 

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

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="5" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="6" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="7" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="8" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="9" /> 
    </LinearLayout> 
    </LinearLayout> 
    </LinearLayout> 

他の提案は

+0

framelayoutには2つのボタンがあり、すべてのボタンにグリッドレイアウトを使用することができます。すべてのレイアウトを作成する必要はありません –

+0

ボタンのボタン... **あなたはデザインしようとしていますか? –

+0

ええ、それはひどいUIです.....私は完全にUIデザインについて学ぶことができるアンドロイドに新しいです –

答えて

0

理解されるであろう https://program.dotfit.com/startprogram.aspx

私の出力は、この

01のようにそれを設定してみてくださいその後
android:layout_marginLeft="-20dp" 
android:layout_marginTop="10dp" 
0

でframeLayoutを使用

<FrameLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true"> 

     <Button 
      android:id="@+id/icon_image" 
      android:layout_width="100dp" 
      android:layout_height="wrap_content" 
      android:layout_margin="5dp" 
      android:background="@color/black" 
      android:text="0" /> 

     <Button     
      android:layout_width="20dp" 
      android:layout_height="20dp" 
      android:layout_gravity="bottom|right" 
      android:background="@color/white" 
      android:layout_marginLeft="6dp" 
      android:src="@drawable/ic_goal_check" /> 
    </FrameLayout> 

Something like this

すべてのあなたのボタンにこのレイアウトを再利用することができます。 、あなたのXMLでこれを再利用し、次のようにカスタムビューを作成するには:

public class YourButton extends FrameLayout { 

    private Button buttonOne, buttonTwo; 

    public YourButton(Context context) { 
     super(context); 
     this.context = context; 
     initializeViews(); 
    } 

    public YourButton(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     this.context = context; 
     TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.GoalButton); 
     typedArray.recycle(); 
     initializeViews(); 
    } 

    private void initializeViews() { 
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     inflater.inflate(R.layout.your_button_layout, this); 
    } 

    @Override 
    protected void onFinishInflate() { 
     super.onFinishInflate(); 
     buttonOne = (TextView) this.findViewById(R.id.button_one); 
     buttonTwo = (ImageView) this.findViewById(R.id.button_two); 
    } 

    public void setCount(String count){ 
     buttonTwo.setText(count); 
    } 
} 

今はこれがシンプルできちんとあなたの主なレイアウトを維持します

<yourPackageName.YourButton 
     android:id="@+id/button_one" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

として、あなたのレイアウトで使用することができます。

+0

おかげさまで.....メインレイアウトはどうですか? –

+0

あなたは今使っているように水平線形レイアウトを使うことができます。 – amarok

0

ボタン上のボタンが無意味なので、カウントを表示するためにテキストビューを使用します。 とにかくそれを表示する方法。あなたが表示したいとあなたのグリッドやRecyclerViewアダプタで

<RelativeLayout 
android:layout_width = "match_parent" 
android:layout_height = "60dp"> 

<Button 
android:layout_width = "match_parent" 
android:layout_height="match_parent" 
android:id="@+id/btn"/> 
<Button 
android:layout_width = "wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/countbtn" 
android:layout_alignParentBottom="true" 
android:layout_alignParentRight= "true"/> 

</RelativeLayout> 

使用このビューには、それを10回にします。

TextViewを使用してCountを表示する場合は、countBtnを削除し、最後の2つの属性が同じtextViewにします。

+0

それに応じて幅と高さを修正します。私は 'match_parent'と' 60dp' respを保ちました。 – Ashwani

関連する問題