在我正在开发的应用程序中,我有几个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) 对于我正在处理的应用程序,我正在尝试获取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) 最近我一直在研究一个有应用程序的应用程序SeekBar
.该SeekBar
所以可以有时很难用它(你必须在你的手势非常精确的)是相当薄.有没有办法增加可触摸区域SeekBar
?因此,我希望用户能够触摸上方或下方SeekBar
移动拇指.我很感激您提供的任何帮助!
我正在学习如何在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) 我正在开发Android应用程序,我想知道是否启用了自动旋转.有谁知道我怎么能得到这个?所以为了清楚起见:我只需要知道用户是否在其设置中启用了自动旋转功能.
我有很多数字,我想在它们之间添加空格,如下所示:
0123456789
- > 0 1 2 3 4 5 6 7 8 9
我正在尝试使用Sublime Text中的搜索和替换功能.到目前为止我所尝试的是使用\S
查找所有字符(只有数字,所以无关紧要)并\1\s
替换它们.但是,这会删除数字并替换它们s
.有人知道怎么做这个吗?
我一直在尝试在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应用程序,我希望用户能够按下启用或禁用自动旋转的按钮.我怎么能用Intent做到这一点?我想我会以某种方式将ACCELEROMETER_ROTATION更改为0或1,但我不知道如何准确地做到这一点.我希望也许你们中的一个人可以帮助我!
对于我正在开发的应用程序,我想使用intent重新启动当前活动.所以我在MainActivity.class中,我想使用以下内容重新启动MainActivity.class:
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
Run Code Online (Sandbox Code Playgroud)
这会调用onDestroy()
但不会重新启动活动.为什么这不起作用?