Android滑块抽屉自定义图标位置

时间:2015-12-29 19:47:51

标签: android android-layout slider android-xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >

<SlidingDrawer
    android:id="@+id/drawer"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:content="@+id/content"
    android:handle="@+id/handle"
    android:orientation="horizontal"
    android:rotation="180" >

    <ImageView
        android:id="@id/handle"
        android:layout_width="50dip"
        android:layout_height="50dip"
        android:rotation="180"
        android:src="@drawable/ic_launcher" />

    <LinearLayout
        android:id="@id/content"
        android:layout_width="250dp"
        android:layout_height="fill_parent"
        android:background="#0000ff"
        android:orientation="vertical"
        android:rotation="180" >

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

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

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

我想更改图标位置并将其从左到右放在顶部位置

是否有人可以告诉我如何在Android滑块抽屉上设置此自定义图标位置&gt;

提前致谢

http://i.stack.imgur.com/q8dz2.png

2 个答案:

答案 0 :(得分:0)

看看你的按钮:

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

您可以至少以四种方式为其设置图标(如此图片所示): enter image description here

您只需指定Drawable应保留的位置。

    文字左侧的
  • android:drawableLeft="@mipmap/ic_launcher"
    
  • 文字右侧的
  • android:drawableRight="@mipmap/ic_launcher"
    
  • 在顶部,文字如下:

    android:drawableTop="@mipmap/ic_launcher"
    
  • 在底部,上面的文字:

    android:drawableBottom="@mipmap/ic_launcher"
    

您只需要在按钮布局中添加其中一条可能的行。

当然,对于一个按钮,您可以添加多个drawable。

  

注意:阅读:   http://developer.android.com/guide/topics/ui/controls/button.html

希望有所帮助

编辑:我之前没有使用SlidingDrawer,所以我无法识别,问题出在哪里,但总是可以做到这样的伎俩

    <Button
        android:id="@+id/one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:drawableTop="@mipmap/ic_launcher"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/handle"
        android:background="#0000ff"
        />

这是一个带有您想要的图像的按钮,&#34;透明&#34;背景。 现在尝试一下,我会寻找另一种解决方案; - )

解决方案:请尝试以下代码:

<SlidingDrawer
    android:id="@+id/drawer"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:content="@+id/content"
    android:handle="@+id/handle"
    android:orientation="horizontal"
    android:rotation="180" >

    <ImageView
        android:id="@id/handle"
        android:layout_width="50dip"
        android:layout_height="50dip"
        android:rotation="180"
        android:src="@mipmap/ic_launcher" />

    <LinearLayout
        android:id="@id/content"
        android:layout_width="250dp"
        android:layout_height="fill_parent"
        android:background="#0000ff"
        android:orientation="vertical"
        android:rotation="180" >

        <ImageView
            android:id="@id/handle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@mipmap/ic_launcher" />

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

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

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

如果您还有任何疑问,请随意提问

答案 1 :(得分:0)

滑动抽屉已被弃用,但很难使用,但我更换了。它唯一的问题是它不会像滑动抽屉一样滑动,但它确实会出现滑动和消失。这是XML部分:

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

    android:orientation="vertical" >




        <RelativeLayout
            android:layout_width="match_parent"
            android:background="#acacac"
            android:layout_height="100dp"

            android:id="@+id/etc"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true">


            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Menu"
                android:id="@+id/bMenu"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"

                android:textColor="#FFFFFF"
                android:textSize="30sp"


                android:background="@drawable/button_shape_1"

                />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/linearLayout"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_above="@+id/etc"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:visibility="gone"
            android:id="@+id/menuContent">

            //content

        </RelativeLayout>

    </RelativeLayout>
</FrameLayout>

默认情况下(复制/粘贴时)不显示(半点)

它必须是一个framelayout,因为它们允许项目放在彼此的顶部(根元素)

代码部分:

  RelativeLayout menuContent;
    Button showMenu;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.game);

    menuContent = (RelativeLayout) findViewById(R.id.menuContent);
    showMenu = (Button) findViewById(R.id.bMenu);
    showMenu.setOnClickListener(this);
}

boolean menuActive = false;

@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.bMenu:
            if(menuActive){
                menuActive = false;
                menuContent.setVisibility(View.GONE);
            }else if(!menuActive){
                menuActive = true;
                menuContent.setVisibility(View.VISIBLE);
            }
        break;
    }
}

这是从我最新游戏的一部分中复制出来的,所以如果它不起作用,请告诉我,我会看看它