小编Zer*_*ero的帖子

填充不适用于ImageButton

在我正在开发的应用程序中,我有几个ImageButtons.每个ImageButton都有一个drawable形式的背景和内容.现在drawable在ImageButton的范围内处于最大尺寸,但我希望它缩小,所以我需要添加一些填充.问题在于,当我尝试这样做时,它没有任何效果.我的XML对于每个ImageButton如下:

<ImageButton
    android:id="@+id/button_zero"
    android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:padding="10dip"
    android:src="@drawable/button_zero"
    android:background="@drawable/button_background" />
Run Code Online (Sandbox Code Playgroud)

任何想法为什么填充不做任何事情?

完整的XML代码:

<RelativeLayout 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:background="#222222"
    tools:context=".Main" >

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

        <!-- Row One -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >
            <ImageButton
                android:id="@+id/button_zero"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:padding="10dip"
                android:src="@drawable/button_zero"
                android:background="@drawable/button_front" />
            <ImageButton
                android:id="@+id/button_one"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:padding="10dip"
                android:src="@drawable/button_one"
                android:background="@drawable/button_front" />
            <ImageButton
                android:id="@+id/button_two"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:padding="10dip"
                android:src="@drawable/button_two"
                android:background="@drawable/button_front" />
            <ImageButton
                android:id="@+id/button_three"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:padding="10dip"
                android:src="@drawable/button_three"
                android:background="@drawable/button_front" />
            <ImageButton
                android:id="@+id/button_four"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:padding="10dip"
                android:src="@drawable/button_four"
                android:background="@drawable/button_front" />
        </LinearLayout> …
Run Code Online (Sandbox Code Playgroud)

android padding imagebutton

46
推荐指数
2
解决办法
2万
查看次数

获取不在视图中的ListView子项

对于我正在处理的应用程序,我正在尝试获取ListView的子项.为此,我有以下代码:

View listItem = mListView.getChildAt(i);
Run Code Online (Sandbox Code Playgroud)

但是,这仅适用于视野中的儿童.我还要接触那些看不见的孩子.我该怎么做?

编辑:

将建议的方法与我已使用的方法进行比较,我发现以下内容:

RelativeLayout listItem1 = (RelativeLayout) mListView.getAdapter().getView(i, null, mListView);
RelativeLayout listItem2 = (RelativeLayout) mListView.getChildAt(i);
Log.d("Checks", "listItem1: " + listItem1);
Log.d("Checks", "listItem2: " + listItem2);

08-27 14:16:56.628: D/Checks(15025): listItem1: android.widget.RelativeLayout@2c5f2920
08-27 14:16:56.628: D/Checks(15025): listItem2: android.widget.RelativeLayout@2c06d938
08-27 14:16:56.628: D/Checks(15025): listItem1: android.widget.RelativeLayout@2c72dfb0
08-27 14:16:56.628: D/Checks(15025): listItem2: android.widget.RelativeLayout@2bfabe50
08-27 14:16:56.638: D/Checks(15025): listItem1: android.widget.RelativeLayout@2c730c18
08-27 14:16:56.638: D/Checks(15025): listItem2: android.widget.RelativeLayout@2c0d3e38
08-27 14:16:56.638: D/Checks(15025): listItem1: android.widget.RelativeLayout@2c12ebc0
08-27 14:16:56.638: D/Checks(15025): listItem2: android.widget.RelativeLayout@2bddbf70
08-27 14:16:56.648: D/Checks(15025): listItem1: android.widget.RelativeLayout@2c131828
08-27 14:16:56.648: D/Checks(15025): listItem2: android.widget.RelativeLayout@2bdf3270 …
Run Code Online (Sandbox Code Playgroud)

android listview children

18
推荐指数
1
解决办法
2万
查看次数

Android SeekBar触摸灵敏度

最近我一直在研究一个有应用程序的应用程序SeekBar.该SeekBar所以可以有时很难用它(你必须在你的手势非常精确的)是相当薄.有没有办法增加可触摸区域SeekBar?因此,我希望用户能够触摸上方或下方SeekBar移动拇指.我很感激您提供的任何帮助!

android touch android-seekbar

15
推荐指数
1
解决办法
6356
查看次数

即使我正在调用thread.interrupt(),线程也不会中断

我正在学习如何在Android中使用线程,为此,我做了一个小应用程序,它会播放一系列音符.这个想法是有一个开始按钮和一个结束按钮(显然)如果按下开始按钮它开始播放音乐,如果你按下结束按钮,它就会停止.启动按钮工作正常,但问题是结束按钮没有.我无法弄清楚原因,所以也许你们中的一些人可以帮助我.这是代码:

public class PressAndPlay extends Activity {
    private volatile Thread initBkgdThread;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button startButton = (Button) findViewById(R.id.trigger);
        startButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {

                // create thread
                initBkgdThread = new Thread(new Runnable() {
                    public void run() {
                        play_music();
                    }
                });
                initBkgdThread.start();
            }
        });

        Button endButton = (Button) findViewById(R.id.end);
        endButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                end_music();
            }
        });
    }

    int[] notes = {R.raw.c5, R.raw.b4, R.raw.a4, R.raw.g4};
    int NOTE_DURATION = 400;
    MediaPlayer …
Run Code Online (Sandbox Code Playgroud)

java multithreading android background runnable

6
推荐指数
1
解决办法
5997
查看次数

在Android上获取自动轮播信息

我正在开发Android应用程序,我想知道是否启用了自动旋转.有谁知道我怎么能得到这个?所以为了清楚起见:我只需要知道用户是否在其设置中启用了自动旋转功能.

android screen rotation

6
推荐指数
1
解决办法
2424
查看次数

在Sublime Text中逐位查找和替换数字

我有很多数字,我想在它们之间添加空格,如下所示:

0123456789 - > 0 1 2 3 4 5 6 7 8 9

我正在尝试使用Sublime Text中的搜索和替换功能.到目前为止我所尝试的是使用\S查找所有字符(只有数字,所以无关紧要)并\1\s替换它们.但是,这会删除数字并替换它们s.有人知道怎么做这个吗?

regex replace find digit sublimetext3

3
推荐指数
2
解决办法
2万
查看次数

onSaveInstanceState的目的

我一直在尝试在Android中构建一个任务列表,我希望它能够记住列表中的内容,即使应用程序已关闭.我一直在尝试使用onSaveInstanceState如下方法:

public class Main extends Activity implements OnClickListener, OnKeyListener {
    ...
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ...
        if (savedInstanceState != null) {
            ToDo = savedInstanceState.getStringArrayList("MyArrayList");
            AA.notifyDataSetChanged();
        } else {
            ToDo = new ArrayList<String>(); // Initiate ToDo
        }
    }

    @Override
    public void onSaveInstanceState(Bundle savedInstanceState) {
        super.onSaveInstanceState(savedInstanceState);
        savedInstanceState.putStringArrayList("MyArrayList", ToDo);
    }
    // ...To-Do implementation follows
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,所以我开始阅读onSaveInstanceState,如果我理解正确,那么你实际上无法在会话之间保存数据.那么你怎么能这样做呢?

android save android-activity

2
推荐指数
1
解决办法
1102
查看次数

设置自动旋转启用/禁用Android

我正在开发一个Android应用程序,我希望用户能够按下启用或禁用自动旋转的按钮.我怎么能用Intent做到这一点?我想我会以某种方式将ACCELEROMETER_ROTATION更改为0或1,但我不知道如何准确地做到这一点.我希望也许你们中的一个人可以帮助我!

android rotation button android-intent

2
推荐指数
1
解决办法
4261
查看次数

使用intent重新启动当前活动

对于我正在开发的应用程序,我想使用intent重新启动当前活动.所以我在MainActivity.class中,我想使用以下内容重新启动MainActivity.class:

Intent intent = new Intent(getApplicationContext(), MainActivity.class);
Run Code Online (Sandbox Code Playgroud)

这会调用onDestroy()但不会重新启动活动.为什么这不起作用?

android launch android-intent android-activity

2
推荐指数
1
解决办法
4138
查看次数