2017-01-05 137 views
0

我試圖在FABs的一側插入標籤...
我搜索了一下,我發現了LinearLayout和TextView的方式,但我無法完成它..
我有寫這個到現在爲止,但它並沒有告訴我即使不..按鈕
標籤到浮動按鈕

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context="com.example.nigi.myapplication2.MainActivity"> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 

</android.support.design.widget.AppBarLayout> 
<include layout="@layout/content_main" /> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    android:gravity="center_vertical" 
    android:orientation="horizontal" 
    android:visibility="invisible"> 
<TextView 
    android:text="TextView" 
    android:layout_width="70dp" 
    android:layout_height="15dp" 
    android:id="@+id/textView3" 
    android:layout_weight="1" /> 
<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="160dp" 
    android:layout_gravity="bottom|end" 
    android:layout_marginRight="@dimen/fab_margin" 
    app:backgroundTint="@color/colorFAB2" 
    app:elevation="6dp" 
    app:pressedTranslationZ="12dp" 
    android:src="@android:drawable/ic_lock_silent_mode" /> 
</LinearLayout> 
<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="90dp" 
    android:layout_gravity="bottom|end" 
    android:layout_marginRight="@dimen/fab_margin" 
    android:visibility="invisible" 
    app:elevation="6dp" 
    app:backgroundTint="@color/colorFAB1" 
    app:pressedTranslationZ="12dp" 
    android:src="@android:drawable/ic_menu_save"/> 
<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="338dp" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom|right" 
    app:elevation="6dp" 
    app:backgroundTint="@color/colorAccent" 
    app:pressedTranslationZ="12dp" 
    android:layout_margin="@dimen/fab_margin" 
    android:src="@android:drawable/ic_menu_add" 
    app:layout_anchorGravity="top|left" /> 
</android.support.design.widget.CoordinatorLayout> 

你有什麼想法,什麼是錯的?謝謝!!

UPDATE

我有點累了昨天,我並沒有看到很多認爲..
感謝您的意見!
所以,我重寫的LinearLayout部分,我做了一些改動java文件,但我仍然有一些問題:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/linear1" 

    android:gravity="center_vertical" 
    android:orientation="horizontal" 
    android:visibility="invisible" 

    android:layout_marginBottom="160dp" 
    android:layout_gravity="bottom|end" 
    android:layout_marginRight="@dimen/fab_margin"> 

<TextView 
    android:text="TextView" 
    android:layout_width="70dp" 
    android:layout_height="15dp" 
    android:id="@+id/textView3" 
    android:layout_weight="1" /> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:backgroundTint="@color/colorFAB2" 
    app:elevation="6dp" 
    app:pressedTranslationZ="12dp" 
    android:src="@android:drawable/ic_lock_silent_mode" /> 

</LinearLayout> 

,並在java文件:

public class MainActivity extends AppCompatActivity implement View.OnClickListener{ 
private Boolean isFabOpen = false; 
private FloatingActionButton fab,fab1,fab2; 
private Animation fab_open,fab_close,rotate_forward,rotate_backward; 
LinearLayout linear1; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    fab = (FloatingActionButton)findViewById(R.id.fab); 
    fab1 = (FloatingActionButton)findViewById(R.id.fab1); 
    fab2 = (FloatingActionButton)findViewById(R.id.fab2); 

    linear1 = (LinearLayout)findViewById(R.id.linear1); 

    fab_open = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fab_open); 
    fab_close = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.fab_close); 
    rotate_forward = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.rotate_forward); 
    rotate_backward = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.rotate_backward); 
    fab.setOnClickListener(this); 
    fab1.setOnClickListener(this); 
    fab2.setOnClickListener(this); 
    linear1.setOnClickListener(this); 
} 

public void onClick(View v) { 
    int id = v.getId(); 
    switch (id){ 
     case R.id.fab: 

      animateFAB(); 
      break; 
     case R.id.fab1: 

      Log.d("Raj", "Fab 1"); 
      break; 
     case R.id.fab2: 

      Log.d("Raj", "Fab 2"); 
      break; 
    } 
} 

public void animateFAB(){ 

    if(isFabOpen){ 

     fab.startAnimation(rotate_backward); 
     fab1.startAnimation(fab_close); 
     linear1.startAnimation(fab_close); 
     fab1.setClickable(false); 
     fab2.setClickable(false); 
     isFabOpen = false; 
     Log.d("Raj", "close"); 

    } else { 

     fab.startAnimation(rotate_forward); 
     fab1.startAnimation(fab_open); 
     linear1.startAnimation(fab_open); 
     fab1.setClickable(true); 
     fab2.setClickable(true); 
     isFabOpen = true; 
     Log.d("Raj","open"); 

    } 
} 
} 


and the screenshot after the changes is:

任何想法怎麼回事?謝謝!!

+0

你有截圖嗎? –

+0

任何人都可以幫忙? –

+0

你可以刪除舊的代碼,只顯示當前的代碼?此外,你能否提供預期的行爲(「但我仍然有一些問題」不是很具描述性......)。 –

回答

0

也許是無關的,但是這似乎LinearLayout錯誤:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    android:gravity="center_vertical" 
    android:orientation="horizontal" 
    android:visibility="invisible"> 

您有需要整個屏幕,沒有ID的無形的看法,所以我想你不把它轉化爲可見的後期。