2013-03-08 88 views
0

我有兩個UI組件,我想在我的Android應用程序中使用。帶有陰影的Android UI組件

第一個是(有點單選按鈕)文本挖掘時/點擊在插圖陰影氣泡appers:

Radio button

見HTML演示:http://fiddle.jshell.net/Vq2A3/1/show/

第二是可拖拽卡被拖動時以更大的影子脫穎而出:

Draggable card

查看HTML演示:http://fiddle.jshell.net/yVnz4/2/show/

什麼是在Android中實現這些東西的慣用方式 - 即雙狀態組件,圓角形狀,插入陰影,可變框陰影,拖動?我想學習Android,所以我不需要現成的組件。我更喜歡鏈接到資源描述如何做到這一點。

謝謝你的回答。

回答

0

您可以在xml文件中設置角落,陰影等等。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" > 
     <shape> 
      <solid 
       android:color="#449def" /> 
      <stroke 
       android:width="1dp" 
       android:color="#2f6699" /> 
      <corners 
       android:radius="3dp" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <gradient 
       android:startColor="#449def" 
       android:endColor="#2f6699" 
       android:angle="270" /> 
      <stroke 
       android:width="1dp" 
       android:color="#2f6699" /> 
      <corners 
       android:radius="4dp" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" /> 
     </shape> 
    </item> 
</selector> 

對於拖動按鈕嘗試是這樣的:

 button.setOnTouchListener(new OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent me){ 
      if (me.getAction() == MotionEvent.ACTION_MOVE ){ 
       LayoutParams params = new LayoutParams(v.getWidth(), v.getHeight(),(int)(me.getRawX() - (v.getWidth()/2)), (int)(me.getRawY() - (v.getHeight()))); 
       v.setLayoutParams(params); 
      } 
      return true; 
     } 
    }); 

有很多的例子。搜索在谷歌,例如:「自定義按鈕」,「拖放按鈕」

+0

謝謝爲你的答案。但是你展示的例子並沒有放棄任何影子。此外,我還沒有在Android文檔中找到關於XML drawable中陰影的任何內容。 – 2013-03-10 20:04:37

+0

您可以使用已經有陰影的9-patch圖像。如果你只想在陰影裏看看這個[線程](http://stackoverflow.com/questions/5197892/add-shadow-to-custom-shape-on-android) – 2013-03-10 20:39:35

0

,你可以爲這些按鈕做的另一件事是使用圖像按鈕的onClick更改按鈕的圖片與myButton.setImageDrawable(Image_drawable);

+0

它不只是按鈕。如果很容易,我會在任何地方使用陰影:) – 2013-03-10 20:09:01