搜索栏可以垂直吗?我不是很擅长UI设计,所以如何让搜索栏更漂亮,请给我一些模板和示例.
我正在研究FrameLayout的子类,它应该将其所有子项旋转90度.我这样做是为了克服Android 2.1及以下版本中仅限风景的相机限制,让活动处于风景中,但将我的相机叠加放入此framelayout叠加层,使其看起来像是肖像(这就是如何Layar做到了)为了做到这一点,我正在调整Jeff Sharkey的代码来旋转视图.我的问题是我可以旋转Framelayout,但我不能调整它以匹配新的尺寸.所以在我的g1上,而不是在景观中480x320相机视图上的320x480纵向视图,我在中间看到一个320x320的盒子,显示我的纵向视图,两侧被切掉.
到目前为止,这是我的代码:
public class RotateLayout extends FrameLayout {
private Matrix mForward = new Matrix();
private Matrix mReverse = new Matrix();
private float[] mTemp = new float[2];
public RotateLayout(Context context) {
super(context);
}
public RotateLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
/* (non-Javadoc)
* @see android.widget.FrameLayout#onMeasure(int, int)
*/
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
//This didn't work:
//super.onMeasure(heightMeasureSpec, widthMeasureSpec);
}
/* (non-Javadoc)
* @see android.widget.FrameLayout#onSizeChanged(int, int, int, int)
*/
@Override …Run Code Online (Sandbox Code Playgroud) 我试图让一个垂直的搜索栏与模拟器一起运行,但我有点卡住了.我可以让搜索栏显示我想要的方式,我可以获得进展以做我想要的,我可以修改onTouchEvent以使拇指垂直而不是水平移动.我不能做的是让拇指移动到默认的29个水平像素之外而不使用setThumbOffset().这本身不是问题.问题来自于我根本不理解thumbOffset这一事实 - 我猜.我想我可以(正确地)调整小部件的大小,我很确定我做得不对.或者也许我可以使用thumbOffset,如果我能搞清楚的话.由于我可以正确地计算进度,我以为我只会使用小部件的进度*(getTop() - getBottom())的线性函数,但似乎没有这样做.但我无法弄清楚偏移的中心位置.
在某种程度上,我真的不确定我在onSizeChanged()中所做的事情是否理智,或者是否会在以后咬我的屁股.
这是main.xml布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<com.mobilsemantic.mobipoll.SlideBar
android:id="@+id/slide"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:max="100"
android:progress="0"
android:secondaryProgress="25" />
<Button android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Hello, I am a Button" />
<TextView android:id="@+id/tracking"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
和类(忽略调试垃圾):
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.SeekBar;
public class SlideBar extends SeekBar {
private int oHeight = 320, oWidth = 29;
private int oProgress = -1, oOffset = -1;;
private float xPos …Run Code Online (Sandbox Code Playgroud) 使用Android SeekBar,您通常可以将拇指向左或向右拖动,黄色进度颜色位于拇指左侧.我希望完全相反,基本上将黄色进度颜色翻转到拇指右侧,并在y轴上翻转整个SeekBar.
谁能指出我正确的方向?谢谢!
搜寻未进行。所有seekbar变为零,但textView正确显示了值。
choosePreset.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
LayoutInflater inflater = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE));
View customView = inflater.inflate(R.layout.preset_list, null, false);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setView(customView);
final String[] arr= getEqualizerPresets();
ArrayAdapter<String> namesAA= new ArrayAdapter<String> ( context,R.layout.myitemlist,arr );
ListView list = (ListView) customView.findViewById(R.id.mylist);
list.setAdapter(namesAA);
final AlertDialog ad = builder.create();
list.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view, final int position, long id)
{
Toast.makeText(context, "Position"+position, Toast.LENGTH_LONG).show();
//equalizerWrapper.usePreset((short)arr[position]);
for(int v=0;v<eqSeeks.length;v++)
{
// equalizerSeeks(v, eqSeeks[v]);
final int z = v;
eqSeeks[v].post(new …Run Code Online (Sandbox Code Playgroud)